naturally, i'd like to apply this idea to perl. because
non-alphabetic symbols are so important to us, it was
obviously necessary to extend the idea a little. i
analyzed my terminal font, and decided that the characters
&+-.:<=>acemnorsuvwxz~
went neither too far up nor too far down. naturally the results
may be a little different for other fonts, but i needed a
standard. so i started to program in this restricted perl.
it's a frustrating little language, but rather beautiful.
a japh:
s==x= && s==.er & xac.uc coer= && s==m--+m--+m--+m--=e &&
s==xac.~o= && s=.+=<<x& evam=ee &&
eva~
x
s=c.=c= && s=x=xz&<<o=e &&
xm
o
s=x=x = && s=x=<<xc& <<xo =e&&
x~
xc
xm
xo
s=x=xer= && s=x=xr& xu=e && s=x=xer = && s=x=xx & uc xn=e &&
s=.=xu & <<o=e &&
x~
o
s=x=x ano= && s=x=xu & <<o=e &&
x~
o
s=x=xus= && s=x=xo & uc xz=e && s=
== && s=.== && s=.+=reverse uc=e && s=.=
r= && s=.+=reverse uc=se &&
warn uc
i wonder whether it would be possible to write a turing machine
in this restricted language, demonstrating its algorithmic
completeness.
.robin.
notes:
http://www.kitsite.com/~robin/ou-x-po/talk/perl-prisoner.html
analyzing font metrics:
http://www.kitsite.com/~robin/ou-x-po/fontm.c
http://www.kitsite.com/~robin/ou-x-po/prisoner.pl
%%
#sn@neopoly.de
#received an honourable mention 2000 tpj obfuscated perl contest
$\=$/,$^x=~m(((.)..l));$~=q,od,,$_='sven@sven.de 2000/01/04'
,$;="/$2$~/$1f\141q".(close stderr).".$2$~";$#=length,print
map{@argv=-f$_.$;?$_.$;:m;();;m>"(j.{$#})>while<>;$+}@inc
%%
#"christensen, david a. (chc)" <dchristensen@chc.gov.mb.ca> with thanks to
#andy lester
#!/usr/bin/perl
undef $/;@t=split//,<data>; print map{$_<0?chr(-$_):$t[$_]} qw
/-74 32 10 11 5 40 41 44 43 75 80 76 27 48 64 65 26 54 7 1 91 -107 69 58/;
__end__
david christensen
technical consultant
manitoba public library services
%%
#mark-jason dominus http://www.plover.com/
require 5.00553;
use re 'eval';
$|=1;
$z = qr{(?{local$d=1})
(?:`(?{$d++})
|.(?{$d--})
)+?
(?(?{$d})(?!))
}x;
$_="``as`sb``ad``s``bs`bbi``ae``b`si`ed``a?``c``cii`pi``e?z``bzzzzz`ki
```cx`kizzqzzzqzzzzzqzzzzqz``bzz```cx`kx`kxq``ee``eezzzzzqz```cx`kizzq
```cx`kizzqzzzzq```cxz`kizzq``ee```cx`kizzq``edzzzqz``bzz```cx`kx`kxq`
`bz```cx`kizz`kxzq``ee```cx`kizzq``edzzzq``bzzzz`kxqz``bzz```cx`kx`kxq
``b```cxz`kizz`kxq``ee``eezzzzzq``b``eezzz`kxq``ee``edzzzq``ee```cx`ki
zzq``edzzzq``ed``ee```cx`kx`ki";
s/\n//g;s/q/`ki``e?/g;s/x/izzz/g;s/z/``es/g;
1 while
s{`i($z) (?{$q=0})|``k($z)($z) (?{$q=1})
|```s($z)($z)($z)(?{$q=2})|```b($z)($z)($z) (?{$q=3})
|```c($z)($z)($z)(?{$q=4})|``a($z)($z) (?{$q=5})
|`i($z) (?{$r++,$q=6})|`p($z)(?{print(chr 120-$r), $r=0, $q=7})
|`e($z) (?{$q=8})|`v($z) (?{$q=9})
}
{local $^w;
$q<5 ?($1,$2,"``$4$6`$5$6","`$7`$8$9","``$10$12$11")[$q]
:$q==5?($bind{$13}=$14,"")
:($15,"",$bind{$17},"")[$q-6]
}ex;
%%
author: mark-jason dominus
@p=split//,".urruu\c8r";@d=split//,"\nrekcah xinu / lrep rehtona tsuj";sub p{
@p{"r$p","u$p"}=(p,p);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$p=$p[$f|ord
($p{$_})&6];$p{$_}=/ ^$p/ix?$p:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[p.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\s/;print
[note: won 2nd place in the 5th annual obfuscated perl contest.
see http://perl.plover.com/obfuscated/ for more info. ]
%%
#yanick champoux
#http://www.iro.umontreal.ca/~champoux/sigs/
print map chr$_[0]-ord$_,@_='200oct╣zyt`cv▁cv\╜ge]cv'=~m;(\d+|.);g;
%%
#richard proctor <richard@waveney.org>
@{$_}=(@{$_-1},1)for(1..9);
map{s/./sprintf"%02d",ord$&/eg}($h,$l)
=("0x\cfmwd\cddf.cd","\cy\"\cey*\\\ch\\<\cek\\");
print chr((@{substr($h,$_,1)}.@{substr($l,$_,1)})+32)for(0..23)
%%
#richard proctor <richard@waveney.org>
sub x{for(split'',"abigail!"x3){print chr(shift()+ord)}}
x(9,19,10,13,-65,-8,2,78,51,6,-4,11,-65,-25,-7,81,43,-66,-33,-6,2,2,-7,81)
%%
#gaal yahas <gaal@forum2.org>
perl -le
'@just_another_perl_hacker=map{/^[^*].*hack/&&s,_, ,g&s,$,\,,&print}%::'
%%
from merlyn@iwarp.intel.com (randal schwartz) 1 feb 90 22:28:58 gmt
@a=split(/(\d)/,"4hacker,2another3perl1just");shift(@a);%a=@a;print "@a{1..4}";
%%
from andrew.vignaux@comp.vuw.ac.nz (andrew vignaux) 22 aug 90 11:10:18 gmt
$s=(localtime(time))[0]; sub n { ($a - $b) * $s; }
print grep(s/.*\t//,sort n grep($_=++$i/-50."\t$_",split(/\n*/,<<japh)));
,rekcah lrep rehtona tsuj
japh
%%
from merlyn@iwarp.intel.com (randal schwartz) 29 aug 90 19:14:54 gmt
print pack("c*",(32..127)[42,85,83,84,0,65,78,79,84,72,69,82,0,48,69,82,76,0,72
,65,67,75,69,82,12])
%%
date: 6 feb 90 22:31:17 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print grep(s/^\d+(.*)/$1 /, sort(split(/ /,"8hacker, 4perl 1just 2another")));
%%
date: 5 feb 90 18:08:59 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
%_=split(/(\d+)/,"7perl6another8hacker,5just");print"@_{5..8}";
%%
from: merlyn
print pack('c25', grep($_ && $_ -= 256, split(/(\d\d\d)/, <<strange)));
330373371372288353366367372360357370288336357370364288360353355363357370300
strange
%%
date: 11 feb 90 20:32:28 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
for (unpack('c25', 'just another perl hacker,')) {
printf "%03d", $_ + 256;
}
$_="whfg nabgure crey unpxre,";y/a-za-z/n-za-mn-za-m/;print;
%%
date: 15 feb 90 23:01:59 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_="just another perl hacker,";for$i(1..length){print substr($_,$i-1,1);}
%%
date: 18 feb 90 19:05:13 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print pack('c25', reverse unpack('c25', ',rekcah lrep rehtona tsuj'));
%%
date: 21 feb 90 18:13:49 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print reverse split(/\/*/,",rekcah lrep rehtona tsuj");
%%
date: 21 feb 90 20:51:25 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
echo just another perl hacker,|perl -e 'print$1if($_=<stdin>)=~/^(.*)/;'
%%
date: 23 feb 90 19:01:21 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
format stdout =
@<<< @<<<<<< @<<< @<<<<<,
$just, $another, $perl, $hacker
.
for("just","another","perl","hacker"){eval"\$$_=\$_;";};write;
%%
date: 23 feb 90 19:04:55 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$,=' ';print grep(s/^.//, sort "2another","4hacker,","1just","3perl");
%%
date: 23 feb 90 23:23:53 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@a=split(/x*/," ,jpacehklnorstu");print@a[2,15,13,14,0,4,10,11,14,7,6,12,0,3,6,12,9,0,7,4,5,8,6,1
2,1];
%%
date: 27 feb 90 17:33:57 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
subject: re: more termcap.pl problems & a quick question
in-reply-to: pem@frankland-river.aaii.oz.au (paul e. maisano)
organization: stonehenge; netaccess via intel, beaverton, oregon, usa
newsgroups: comp.lang.perl
in article <1172@frankland-river.aaii.oz.au>, pem@frankland-river (paul e. maisano) writes:
| sub p {
| local($str) = @_;
| $str =~ s/([\000-\037])/"^".pack("c", ord($1)+0100)/eg;
| print $str;
| }
[well, he said more than that, but that's the important part... :-]
how about handling del too?
sub unctrl {
local($_) = @_;
s/([\000-\037\177])/'^'.pack('c',ord($1)^64)/eg;
$_;
}
print &unctrl("\000\002\n\r\027abc\177"),"\n";
results in:
^@^b^j^m^wabc^?
print &unctrl("just another perl hacker,");
%%
date: 27 feb 90 17:48:36 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
for (split(/(.)/,"just another perl hacker,")) {print if $_;}
%%
date: 28 feb 90 01:32:25 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@a=<;echo just another perl hacker,>; print join(" ",@a);
%%
date: 28 feb 90 01:51:32 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
mkdir("/tmp/$$",0777); chdir "/tmp/$$";
grep(open(x,">$_"),"1just","2another","3perl","4hacker,");
print join(" ",grep(s/^.//,<*>)); chdir ".."; system "rm -rf $$";
%%
date: 28 feb 90 02:03:37 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = <<end; s/../pack('c',hex($&))/ge; print;
4a75737420616e6f74686572205065726c206861636b65722c
end
%%
date: 28 feb 90 16:09:35 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$\="hacker,";$,="another ";print"just ","perl ";
%%
date: 28 feb 90 22:45:45 gmt
from: tneff@bfmny0.uu.net (tom neff)
@a=split(//,'1111211111131223311361214223121412311341121111222123616111111122'.
'21233212615112114212321211121111222123321120');for$r(@a){for(1..$r){vec($s,$i,
1)=$v;$i++;}$v^=1;}print"$s\n";
%%
date: 1 mar 90 06:27:25 gmt
from: jgreely@giza.cis.ohio-state.edu (j greely)
print reverse(split(/!?/,join(' ',sort split(/ /,"tsuj rehtona lrep ,rekcah"))));
%%
date: 1 mar 90 17:06:10 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
for('snobol','perl'){print"just another $_ hacker,\n";}
%%
date: 5 mar 90 17:39:29 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
pipe(r,w);if(!fork){exit print w"just another perl hacker,";}close(w);print<r>;
%%
date: 6 mar 90 11:07:32 gmt
from: andrew.vignaux@comp.vuw.ac.nz (andrew vignaux)
@l = split (/(..)/,'1a7r4j1n0a7e7c1o8n248o1t4u8v4s7.207l27547a7n7g1h'.
'0 511e3h7.8i564t3a6p1r7p8c8e6e3c3k7e3e533r7r286r6l4 6 1 8,7l7 3,');
srand; $_=3*int(rand(2))+2; /^$_/;
foreach (split(//,&g)) {/^$_/;print &g;} print "\n";
sub g {join('',grep(s/^.//,grep(//,@l)));}
%%
larry> for(split(//,'))*))91:+9.*4:1a1+9,1))2*:..)))2*:31.-1)4131)1))2*:3)"'))
larry> {for(ord){$i+=$_&7;grep(vec($s,$i++,1)=1,1..($_>>3)-4);}}print"$s\n";
larry> and a special version just for randal:
larry> grep(do{for(ord){$i+=$_%8;grep(vec($s,$i++,1)=1,5..($_>>3||print"$s\n"));}},
larry> (@x=split(//,"))*))91:+9.*4:1a1+9,1))2*:..)))2*:31.-1)4131)1))2*:3)\7")));
%%
date: 6 mar 90 18:08:23 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
open(c,"|uncompress");$_=<<eof;s/../pack('c',hex($&))/ge;print c $_;
1f9d904aeacca103228c9b3774d094910302ca423620d08419b366210b05
eof
%%
date: 6 mar 90 21:36:52 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print $_ x (($_ = "just another perl hacker,") =~ s/j/j/);
%%
date: 7 mar 90 05:58:52 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_="kheauroes ,rjttparn lhc e";srand(1);
while($a=length){$a=rand($a);print(substr($_,$a,1));substr($_,$a,1)="";}
%%
date: 7 mar 90 18:12:26 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
open(m,"/usr/games/lib/quiz.k/morse") || die "morse: ($!)";
while(<m>) {next unless /([a-z]):(.*)/; $m{$2}=$1;} close(m);
print grep($_ = ($m{$_} || $_), split(/([^-.])/,<<eof)); exit 0;
.--- ..- ... -/.- -. --- - .... . .-./.--. . .-. .-../.... .- -.-. -.- . .-.,
eof
%%
date: 26 mar 90 16:20:37 gmt
from: raymond@sunkist.berkeley.edu (raymond chen)
$_='x"not ";"x\"another \";\'x\\"perl \\";x\\"hacker,\\"\'"';s/x/print/g;eval eval eval;
%%
date: 10 mar 90 01:44:00 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
for($i=129600;@x=gmtime($i),(print substr('just another perl hacker,',$x[5]*12+$x[4]-840,1)),($i+
=2639520)<66117600;){;}
%%
date: 10 mar 90 01:55:18 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
printf "%c"x 25,74,117,115,116,32,97,110,111,116,104,101,114,32,80,101,114,108,32,104,97,99,107,1
01,114,44;
%%
date: 11 mar 90 01:03:06 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
%x=split(/(\d)/,'another2perl4hacker,8just1');sub x {$x{$a}<$x{$b}?-1:1;} print join(" ",sort x k
eys x);
%%
date: 11 mar 90 16:56:40 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print join('',grep(s/.*"(.)".*/$1/,split(/\n/,<<)));
gimme a "j"!
gimme a "u"!
gimme an "s"!
gimme a "t"!
gimme a " "! :-)
gimme an "a"!
gimme an "n"!
gimme an "o"!
gimme a "t"!
gimme an "h"!
gimme an "e"!
gimme an "r"!
gimme a " "! :-)
gimme a "p"!
gimme an "e"!
gimme an "r"!
gimme an "l"!
gimme a " "! :-)
gimme an "h"!
gimme an "a"!
gimme a "c"!
gimme a "k"!
gimme an "e"!
gimme an "r"!
gimme a ","! :-)
what's that spell??
%%
date: 13 mar 90 20:00:26 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print +(split(//,'just anoherplck,'))[0..7,3,8..10,4,11,9,10,12,4,8,5,13,14,9,10,15];
%%
date: 20 mar 90 01:21:37 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_=',pr0e=krcza0hb 5lor+e"pe :rbe}hrtho]nhaj nt.s[u=j@';s/../unshift(a,$&)/eg;chop(@a);print@a;
%%
date: 17 mar 90 18:30:39 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@argv=split(//,'just another perl hacker,');push(@x,'')while@x<@argv;
for$x($[..$#x){grep(*y=*_,$x[$x]);$y=shift;}print@x;
@argv=split(//,'just another perl hacker,');push(@x,'')while@x<@argv;
for$y(@x){$y=shift;}print@x;
%%
date: 17 mar 90 22:34:02 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@x=split(//,'just another perl hacker,');*y=*x;print @y;
%%
date: 20 mar 90 01:21:37 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_=',pr0e=krcza0hb 5lor+e"pe :rbe}hrtho]nhaj nt.s[u=j@';s/../unshift(a,$&)/eg;chop(@a);print@a;
%%
date: 20 mar 90 01:53:40 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print "just another perl hacker," x "1no time to write a cute signature";
%%
date: 20 mar 90 20:35:16 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_='5o1v3v5y9)1b7u2q4x1i0e3u2"3s9n5w7s6&7o7h8k1l6k3u3/';s/(.)(.)/pack('c',ord($2)-$1)/eg;print;
%%
date: 20 mar 90 23:33:06 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
eval <<eof;
print "just another perl hacker,"
eof
%%
date: 21 mar 90 16:38:55 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_="7072696e7420274a75737420616e6f74686572205065726c206861636b65722c27";
s/../pack('c',hex($&))/eg; eval;
%%
date: 23 mar 90 04:37:57 gmt
from: raymond@hilbert.berkeley.edu (raymond chen)
$_="krjhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
%%
date: 24 mar 90 22:36:53 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@a=split(//,",rkeacrl hher pejust anot");print splice(@a,@a*2/3,@a*2/3+1)while@a;
%%
date: 27 mar 90 00:25:41 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_=q(q-q:!print "just another perl hacker," :-) ;-7 while$_=eval
%%
date: 27 mar 90 00:31:26 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
for(1..32){grep((print "${_}just another perl hacker,$_\r"),'-','\\','|','/');}
%%
date: 27 mar 90 16:16:30 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@p=split(//,",rekcah lrep rehtona tsuj");p:print pop(p);goto p if @p;
%%
date: 27 mar 90 16:36:46 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$|=1;$_=<<'-- ';s#..#printf"%c",(fork?wait&&$?/256:exit hex($&))#eg;
4a75737420616e6f74686572205065726c206861636b65722c
%%
date: 28 mar 90 16:12:34 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
open(stderr,">&stdout");warn "just another perl hacker,\n"
%%
date: 28 mar 90 18:06:57 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = "just a sed user,";s/a/another/;s/sed/perl/;s/user/hacker/;print
%%
date: 28 mar 90 19:27:25 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_="rej alounpt srhaetchr, ek";s/(..)(.)(..)/(print$2),$3.$1/eg;s/(.)(.)(.)/(print$2),$3.$1/eg;pr
int
%%
date: 28 mar 90 21:35:44 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
($_="just another perl hacker,"); 0 while s#.# do {print $&;} #e,s/^1//;
%%
date: 30 mar 90 19:18:27 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_=<<eof;for$c(97..121){$x=sprintf("%c",$c);printf"%c",32+eval"y/$x/ /";}
ldhnxdqflccjgixntpttudphiwljotwvvqsoiifujkxcfxsjtsxahsgobxhbkwocoglgkj
vjiibdlqcjtgifhhvbpjqswfuxtjqudgcvsfdhufnsfxgjsvwxjjckgxpogktbkdgxpxkt
sillcoidtqkqcxnsoptdhgqhnjhkolojcgbxcipiniokdpdnhvuvwondpqgcudjiucgdli
llilclpsniuogqntvvbuwpdhdgvnbfaiplndubaipapwisjxocfuvsasjifdbcdtbtojfd
phpxidhbdavxpxpbidcfbaxwwvddbpscdccatxbpckhavtldtvlvsgbpvlqxolowbvcloa
jlfltiqwqqjafxlfpcgiqbxsvpgpvgsiblwgllvicfcifkulujvspoxklihaxkddnohidk
gfsffjtugalibsginvhbkikuawfpcgppvvdfpkocjsluvcqnskvtjuppkfglpbcbsvxqxi
opxwkovjhvqwojkfckqysxqsibbanxivcitctldvxilcvupxxldhnvsthocjcolhwqtwti
nitspguakklhgkjwvlfwddsvuuwixhqvjpgbjpjtbojanxwutxsvuvicdgnsikkqqbdthu
lwcasbqokhpwxskbqpcdlngqwnwqtbxpugafvnkhhbhscgusitstucvlubgilfaaulphlv
ohpogqwqoauqtbvboupwjpfhggvkkbsbcxiolqkppdiqltjnxnsnstdsosfupcyjxwgpqg
ahuscvvhohjxipcqwjxdwdusxwgyydatihdlbigusjqlpocdfpijvfhwuuggbtginttlxi
wcqklviatnjgbnslbhxbgxqwvqyfvxnxiulktwigvbbodwfqjkduopfyugjqqfhdxgqbjs
dupicidbqflkowtbnjqiwpqxpynibbiqhbagsuiqkpbfqnjyooswwchbqkpxqbwgxhkwoq
htokfhhjdsavpkdldlkndkcwcghybhpcsocdwboqtnilvkwqvtxdwadbjqihjfdtgksblk
aaddbwhalcdgtgblbhdsvnxcuqqbfldhkjfghdpvtnxsnoipfcvslxicolwfxbjbcnbwgo
vlvhfcqcjonddjttdcsgxxiulvljsjsiuhhfwpkocngspoxdjsykwpofgplkncopvcwlgq
xscfxpfiidtghbxspjcbjuuuhnvqwviuciobkapaxbisdnixjsakqsahlfihtlqxsfjgbo
xaptdwcvlgohpvggoujoogjcobjwwugkfdbklhghuuthcbksdqcvcgatokqcdichpiwbjc
buxyhwhnuxkiqwivdbgpvjqfuditkplfcsjjkflohigswtdjtahfclqkxouvabxfotbuhf
tbfqlqkibvagngkuvwnpjcqhpowfqhuaoqccdlupdwosvupxqbvqpkihvftwfbsodsyjgp
hhbxhwfhkiadlwfwxunbhuqppbhjguctjldfoqtgkllcllxtxxklxwdtcdhklxusxjcixg
eof
%%
date: 2 apr 90 18:45:15 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@a=split(/\n/,<<'-- ');$a[9-$b-($b>5)]=~s/\*/vec($_,8*length($`)+$b-1,1)=1/eg while++$b<9;print;
**** ******* **** ******
************ ***********
.........................
*** * * * * *
* ** * * * * *
* * *** * * * * *
* * ** * * ** *
** * * * * ****
--
%%
date: 3 apr 90 22:44:56 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@argv=split(/\s\n?/,<<eof);$a+=length(shift),vec($_,$a,1)=1while@argv;print;
:-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)
:-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)
:-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)
:-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)
:-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)
:-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)
eof
--
%%
date: 3 apr 90 22:40:40 gmt
from: raymond@wish-bone.berkeley.edu (raymond chen)
$x=split(/( )/,'not another perl hacker,');$_=q$x$x$x;s$x$print shift(@_)$eg;
%%
date: 4 apr 90 03:02:23 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@_=("just another perl hacker," =~ /(.*) (.*) (.*) (.*)/);print"@_";
%%
date: 10 apr 90 02:18:38 gmt
from: tneff@bfmny0.uu.net (tom neff)
system qq|perl -e 'system qq!echo just another ansi perl hacker,!'|
%%
date: 11 apr 90 08:46:10 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
eval q(eval q-eval q:print"just another perl hacker," :-)
%%
date: 16 apr 90 15:58:21 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_='987;s/^(\d+)/$1-1/e;$1?eval:print"just another perl hacker,"';eval
%%
date: 17 apr 90 00:20:39 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
@l = split(/ /, <<eol); eval '$'.pop(@l).'='.@l while @l;
zero one two three four five six seven eight nine
eol
for (split(/\s+/,<<"eof")) { printf "%c",$_; }
$seven$four $one$one$seven $one$one$five $one$one$six $three$two
$nine$seven $one$one$zero $one$one$one $one$one$six $one$zero$four
$one$zero$one $one$one$four $three$two $eight$zero $one$zero$one
$one$one$four $one$zero$eight $three$two $one$zero$four $nine$seven
$nine$nine $one$zero$seven $one$zero$one $one$one$four $four$four
eof
%%
date: 18 apr 90 13:47:12 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_=",rekcah lrep rehtona tsuj";s/.$/eval 'print $&',""/e while length
%%
date: 19 apr 90 23:21:03 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print grep($_=sprintf("%c",exp($_)),split(/\s+/,<<'-- '));
4.311 4.766 4.749 4.758 3.481 4.580 4.705 4.714 4.758 4.649 4.620 4.741 3.481
4.388 4.620 4.741 4.687 3.481 4.649 4.580 4.600 4.677 4.620 4.741 3.795
%%
date: 27 apr 90 14:55:59 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = "cker,rl haer peanothjust "; s/(.{5})$/(print$1),""/e while length
%%
date: 27 apr 90 19:12:09 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = <<eof; s/(\d\d)(\d\d)\s*/substr(($!=$1,"$!"),$2,1)/eg; print;
j0204020301020103042001060101010202060107010801031300010701080210
0103020604200205150401070108,
eof
%%
date: 27 apr 90 21:02:12 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = <<eof; s#[-+]\d+#pack('c',$c+=$&)#eg; print;
+74+43-2+1-84+65+13+1+5-12-3+13-82+48+21+13-6-76+72-7+2+8-6+13-70
eof
--
%%
date: 30 apr 90 21:03:34 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_="just_another_perl_hacker,";open(_,">$_");print<$_*>;unlink;
%%
date: 2 may 90 16:44:45 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = "jvtu bopuifs pfsm ibdlfs,"; y/a-z/za-y/; print
%%
date: 6 apr 90 17:09:14 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
sub _{$b-$a;}print((split(//,",rekcah lrep rehtona tsuj"))[sort _ 0..24])
%%
date: 18 apr 90 23:02:31 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_='vec(1,1,1); print substr($_ ^ "<\020\020\134\021m_cea^rp\042\014\034\030\000\033\024\001\030\
021\000\004",0,25)'; eval
%%
date: 18 apr 90 23:02:31 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_='vec(1,1,1); print substr($_ ^ "<\020\020\134\021m_cea^rp\042\014\034\030\000\033\024\001\030\0
21\000\004",0,25)'; eval
%%
date: 19 apr 90 17:18:27 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print ('just ','anoth','er pe','rl ha','cker,')[0..4]
%%
date: 2 may 90 16:44:45 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = "jvtu bopuifs pfsm ibdlfs,"; y/a-z/za-y/; print
%%
date: 15 may 90 16:02:24 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
open(p,"|perl");print p"format=\njust another perl hacker,\n.\nwrite"
%%
date: 22 may 90 21:41:18 gmt
from: flee@shire.cs.psu.edu (felix lee)
@a=split(//,$]);@b=split(//,"k ple th\nhroeaarcn.");$k=$#a=$#b;@a=sort grep($_.=$k++,@a);print@b[substr(pop(@a),1,2)-$#b]while(@a);
%%
date: 25 may 90 15:29:25 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_=pack("c25",65..90);y/a-y/just another perl hacker,/;print
%%
date: 26 may 90 00:00:37 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
sub isplit { # &isplit(word,string) => array
local($word,$_) = @_;
local(@ind,@result,$start,$end);
@ind = (0);
s#$word#push(ind,length($`),length($`.$&)),$&#ieg;
push(ind,length);
# @ind now has pairs of indicies (0-origin) into $_
# that bound the non-$word items; convert into result:
while (@ind) {
$start = shift(ind);
$end = shift(ind);
push(result,substr($_,$start+$[,$end-$start));
}
@result;
}
print &isplit("z","jzuzsztz zaznzoztzhzezrz zpzezrzlz zhzazczkzezrz,");
%%
date: 5 jun 90 19:07:58 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$,=" "; print +("hacker,","just","perl","another")[1,3,2,0];
%%
date: 14 jun 90 06:38:52 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
open(o,"|cat");print o "just another perl hacker,"
%%
date: 15 jun 90 01:37:14 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print `perl -e 'print stderr "just another perl hacker,"' 2>&1`
%%
date: 15 jun 90 16:15:31 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = <<'-- '; s/../printf "%c",hex($&)/ge;
4a75737420616e6f74686572205065726c206861636b65722c
--
%%
date: 15 jun 90 22:06:24 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
printf "%s %s %s %s%c", 'just', 'another', 'perl', 'hacker', 44
%%
date: 16 jun 90 19:22:20 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print <;echo just another perl hacker,>
%%
date: 18 jun 90 07:49:28 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = "just another perl hacker,"; { redo if s/./(print $&),""/e; }
%%
date: 18 jun 90 15:53:11 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print "just another perl hacker," if "you can't think of anything better..."
%%
date: 20 jun 90 17:51:58 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_ = <<'-- '; s/../pack("c",hex($&))/eg; eval;
7072696e7420224a75737420616e6f74686572205065726c206861636b65722c22
--
%%
date: 25 jun 90 20:58:27 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
%_=split(/(\d+)/,"4perl1just8hacker,2another");print"@_{sort(keys(_))}"
%%
date: 26 jun 90 18:02:43 gmt
from: bill@ksr.com (bill mann)
$_="another just hacker $]".`ps c$$`;@_=split;print"@_[1,0,$#_,11,13,2],\n";
%%
date: 27 jun 90 00:20:08 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
%_=@_=("perl","hacker,");print"@_[!print 'just '] @_{(keys _)[!print 'another ']}"
%%
%%
date: 28 jun 90 17:57:59 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print "$argv[push(@argv,'just another perl hacker,')]"
%%
date: 30 jun 90 21:11:02 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
for("hacker","perl","another","just"){substr($x,0,0)="$_ ";}substr($x,-1,1)=",";print$x
%%
date: 1 jul 90 18:24:21 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
print grep($_=pack("c",hex($_)),unpack("a2"x 25,"4a75737420616e6f74686572205065726c206861636b65722
c"))
%%
date: 1 jul 90 22:55:10 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$x=25;print substr(',rekcah lrep rehtona tsuj',$x,1) while --$x >= 0
%%
date: 3 jul 90 00:19:58 gmt
from: raymond@bosco.berkeley.edu (raymond chen)
$_="-|";open _||print"creajklrnue osrhptt,aeh ";while(<_>){$}=5;s/(.{$}})(.)/(print$2),$1/eg whil
e--$};print;}
%%
date: 5 jul 90 17:18:01 gmt
from: merlyn@iwarp.intel.com (randal schwartz)
$_="cker,rl haer peanothjust ";1 while s/(.{5})(.{5})?/$_{$2}=$1,$2/e;print while $_=$_{$_};
%%