A string of pe(a)rls
1 direct reply — Read more / Contribute
|
by golux
on Mar 12, 2012 at 16:36
|
|
|
use strict;
use warnings;
use feature 'say';
( ) ,say map{
( ) ,s <..>
() ,$ _=lc crypt$_,$&;
() ,s [[fy34].+]
() ,s [[bg]|(?<=r$)]
( ) ,and $_}
( ) ,@ .= qw = JuzXb NO9(V PeKVj ACUcu =
say substr+lc crypt(qw $i3 SI$),4,5
|
JAPH's another Perl hacking
No replies — Read more | Post response
|
by locked_user zhutingting
on Feb 15, 2012 at 20:48
|
|
|
#!/usr/bin/perl
print$_?chr(length()+96):' 'for<<''=~/(?<=D).*?(?=D)/g;
ODOOOOOOOOOODOOOOOOOOOOOOOOOOOOOOODOOOOOOOOOOOOOOOOOOOO
OODOOOOOOOOOOOOOOOOOOODOOOOOOOOOOOOOOOOOOOODDOOOOOOOOOO
OOOOOOOOODODO0OOOOOO000OOODOO000000OOOO0OODOO0OOOOOOOOO
ODOOOOOOOOOOO0OOOOO0OOD0OOOOO0OOOOO0OOO0OOOOO0OOOOOOOOO
OODOOOOOOOODO0OOOO0OOOOO0OOOO0OOOOO0OOO0OOOOO0OOOOOOOOO
OOOOOOOOOOOOO0OOOO0000000OOOO000000OOOO0000000ODOOOOODO
OOODOOOOOOOOO0OOOO0OOODO0OOOO0OOOOOOOOO0OOOOO0OOOOOOOOO
OOOOOOO0OOOOO0OOOO0OOOOO0OOOO0OOOOOOOOO0OOOOO0OOOODDOOO
OOOOOOOO00000OOOOO0OODOO0OOOO0OOOOOOOOD0OOOOO0OOOOOOOOO
OOOOOOOOOOOODOOOOODOOOOOOOOOOOOOOOOOODOOOOOOOOOOOODDOOO
ODOOOOOOOODODOOODOOOOOOOOOOODOOOOODOOOOOOOOOOOOOOOOOODO
Use Ctrl-F to find another JAPH ;-)
|
For this Valentine's day...
1 direct reply — Read more / Contribute
|
by sandeepsasi
on Feb 03, 2012 at 21:52
|
|
|
perl -le 'map{$y=$_/12;print map{("@"," ")[-38>$_||$_>-36&&($_**2/800+
+$y**2-1)**3>$_**2*$y**3/1600&&0.2*($_-48)**2-15>15*$y||15*$y>($_-48)*
+*2-12]}-40..60}reverse-15..15'
|
Alien JAPH :)
1 direct reply — Read more / Contribute
|
by trizen
on Jan 31, 2012 at 16:08
|
|
|
read*DATA,$_,13**+3;y #{}
{}{};s>[\s*]+>>g;$i=length;s/
(.{$i})(.)/$2$1/gx while$i--;eval;;
;for(q\just \.q)another),q)perl hacker)){
for(split$!){$_=$$h{$_}?do{$_=$$h{$_};;;;;;;y
<A-Za-z0-9+/>/ -_/&&unpack'u',chr(length()*.75+32
).$_}:$"x$];$w=(sort{$b<=>$a}map+length,split$\=$/)
[$]-$]];s/^(.*?)\s*$/sprintf'%-*s',$w,$1/egm;push@f,[
[split$\],$w]}for$x($?..-//+$]){push@{$x[$x]},@{$f[$_][
$?]}?pop@{$f[$_][$?]}:$"x$f[$_][//]for$?..$#f}$s.="@{+pop
@x}$/"while@x;$k=$g=chr(ord$^);for(split$\,$s){$s=$g;$$s=$_
;++$g}$==135;print$w="\e[H","\e[J";{print$w;print$"x$=,$$_?
chop$$_:''for$k..$g;select$,,$,,$,,.01;--$=&&redo}}__END__!!!
C**wX*yX****o*f*****ig*pv*AoB**LhCffX*g*I**I*lyI****8*g*FC8L8
8**v*I*LC*g9*8I*o81ga***ICXp*I*Ig8***CIv*wF*B*8*I*8*wX**gCvIA
g*LA,L>8*Cg*CCyy*w**cIi**F>*L=8**L*X**='CgCLfg*vC8wXgX*Kef*9*
B8C**I*g*gvIALKX*L**C*vy*>I*gX***I*Xg8**w1*}CA*=y8*y******lAyw*
=8C*gy*f****f**y*8**loK****K88A**8f=,*II****'g*f*F*F*wf*v**gvCA
C8*y*y*LIgK******Xf''***'*I***A*X=yiov***g>C*,*8*g****IAgvA*I*X
Fj**gCy*8Xv**89v'*XI*ILy**=A**C1A*8y*v*o**v9KvXyw**f**f**X8**C*
*Fy******C*C9**L*vf**C*vF*8gg$*y**v*8v**AL**II*ILKsK*Xyv**gCI**
8**y fI**K*F*8**L*,*I9*C**8*BiFw*fg,A8h8*gF' B***
vg*L *8*C*8*F*fX*CC8*g*B***,Iv88A***** gC8X
*1*C C***IF*u******CX8**L>Xi=*** *C**
C*v8* **ICI8I*>*KC***8IF*B*8* *oIF*
**K** Av*ALvg**C*I*g**'*wBA **FLg
*'1''* f=*yLLI*****'ff'* *fo*9g
*IA>y F***v*8FIoy'*C* *Lf**
I*8f8v *k'y8F*=vw*>g **Kf**
vy8*X> *K*L*XgKw*' o*g'vF
*1By' gBv*LI*** XX8**
KB***' Xv**A'**8 v***of
ilgCgC* **'***f y*BA*8i
**LI*y* *8IoIv* *oC,y*g
,**gI**= *yC8i 'I8g*L>8
'9{8gB*>A F*18I **8A=*v**
*yA'*1pf** *wv** ****,I8l*v
*IAB*AC*f**f I**yA** yF*C1*Avp***
**gCv'*****KIyK******8C'g9I**yFK*IL8*A=vo*y
C*ABX*F*fv8***AC,*9***wy***IKI****,Kn=i**
**Xf8w*L1*w*9***8*,ygf*X**88oKCIC***I**
I*8*'*F8IL***CL**y*>*>I*****fCC*8LC*y
**XC***A*I*g*C*FA*w****Bv**CfyA*I
g*I*y*****A*BI9'g**gy*Iw*L8*lgX
*IXXX*A**X**8g*I88*I***B*i***
*y**X*FXAyg****Avgo*F*F*F
*XAg*gC*i****,*LI**>*
IK*I*Xg****tv****
XCA**8pr*CIg*
A*K=***y*
|
too simple....
No replies — Read more | Post response
|
by Oromis92
on Jan 24, 2012 at 06:36
|
|
|
#!/usr/bin/perl
while (1)
+ {
($s,$m,$h)=localtime(); if(length($h)==1){$h="0".$h} $q=$h;$r=$h;$h1=s
+ubstr($h,0,1);
$h2=substr($h,1,1);if (length($m) == 1){$m="0".$m} $w=$m; $t=$m; $m1=s
+ubstr($m,0,1);
$m2=substr($m,1,1); if (length($s) == 1) {$s="0".$s} $e=$s;$y=$s;$s1=s
+ubstr($s,0,1);
$s2=substr($s,1,1);while ($h1>0) { if ($h1 %2 == 0) { $str1.=0; } else
+ { $str1.=1; }
$h1=int($h1/2);} $str1.="0" while length($str1)<4;$str1=reverse($str1)
+;while ($m1>0)
{ if ($m1%2 == 0) { $str2 .= 0; } else { $str2.=1; } $m1 = int($m1/2);
+ } $str2.= "0"
while length($str2) < 4; $str2 = reverse($str2); while ($s1>0) { if (
+$s1 % 2 == 0)
{$str3.=0;} else {$str3.=1;} $s1=int($s1/2); } $str3 .= "0" while leng
+th($str3) < 4;
$str3=reverse($str3);while ($h2>0) { if ($h2 %2 == 0){$str4.=0; } else
+ {$str4.= 1; }
$h2 = int($h2/2); } $str4 .= "0" while length($str4) < 4; $str4 = r
+everse($str4);
while ($m2>0) { if ($m2 % 2 == 0){ $str5 .= 0; } else { $str5.=1; }$m2
+=int($m2/2); }
$str5 .= "0" while length($str5) < 4; $str5 = reverse($str5); whil
+e ($s2>0) { if
($s2%2 == 0){ $str6 .= 0;} else {$str6 .= 1; } $s2= int($s2/2); } $str
+6 .= "0" while
length($str6) < 4;$str6=reverse($str6);while($q>0){ if ($q % 2 == 0) {
+ $str7 .= 0; }
else { $str7 .= 1; } $q = int($q/2); } $str7 .= "0" while length($str7
+) < 6; $str7 =
reverse($str7); while ($w>0){ if ($w % 2 == 0){ $str8 .= 0; } else{ $s
+tr8 .= 1; }$w=
int($w/2);} $str8.="0" while length($str8) < 6; $str8=reverse($str8);
+while ($e>0) {
if ($e % 2 == 0) { $str9 .= 0; } else { $str9 .= 1; } $e = int($e/2);
+} $str9 .= "0"
while length($str9) < 6; $str9 = reverse($str9); @x1 = split//,$str1;
+@x2 = split//,
$str4; @x3 = split// ,$str2; @x4 = split//, $str5; @x5 = split//,
+ $str3; @x6 =
split//, $str6; @x7 = split//, $str7; @x8 = split//, $str8; @x9 = s
+plit// ,$str9;
print "\n\n\n $x2[0] $x4[0] $x6[0] \n $x2[1] $x3[1] $x4[1] $x
+5[1] $x6[1]" ;
print "\n $x1[2] $x2[2] $x3[2] $x4[2] $x5[2] $x6[2] \n $x1[3] $x2[3] $
+x3[3] $x4[3]";
print " $x5[3] $x6[3] \n\n\n\n\n @x7\n @x8\n @x9\n\n\n\n\n $r:$t:$y\n\
+n\n"; sleep 1;
( $str1, $str2, $str3, $str4, $str5, $str6, $str7, $str8, $str
+9 ) = ""; }
|
ASCII art maker
2 direct replies — Read more / Contribute
|
by thomas895
on Dec 24, 2011 at 16:56
|
|
|
Albeit very simple, I thought I'd share.
#!/usr/bin/perl
my%cd=reverse('a'=>'$','='=>'5','7'=>"'",'d'=>'1',','=>'%','2'=>'r','y
+'=>'(','1'=>')','"'=>'3','t'=>'@','e'=>'{','>'=>'4','s'=>'n',"\n"=>'h
+','c'=>'"','('=>' ','$'=>';','\\'=>'c','r'=>'d',
':'=>'9','h'=>"\n",'.'=>',','@'=>'t','['=>'\\',';'=>':','f'=>'m','i'=>
+'}','n'=>'y',' '=>'s','{'=>'>',']'=>'l','3'=>'[','%'=>'o','9'=>'f','m
+'=>'=','_'=>']','l'=>'a','4'=>'2','p'=>'.',
')'=>'e',"'"=>'i','}'=>'7','5'=>'_','o'=>'p');my$r='';while(<DATA>){$r
+.=$_;}my$p='';foreach(split("",$r)){$p.=$cd{$_};}chop$p;eval($p)and(p
+rint($@));
__DATA__
=(s;"
$ds5sioi:h=(s;1{mss5s\hssss\s3n9_3%s3"9)3%s3y9)3sl%hssss\s3n923%s3"9[3
+%s3y9)3sl%hssss\s3n9r3%s3"9'3%s3y9)3sl%hssss\s3n9)3%s3"9f3%s3y9)3sl%h
+ssss\s3n9r3%s3"9'3%s3y9)3sl%hssss\s3n9r3%s3"9'3%s3y9)3sl%hssss\s3n9r3
+%s3"9'3%s3y9)3sl%hssss\s3n9r3%s3"9r3%s3n9[3%s3"9r3%s3y9)3sl%hssss\s3n
+9r3%s3"9r3%s3n9[3%s3"9r3%s3y9)3sl%hssss\s3n9r3%s3"9r3%s3n9[3%s3"9r3%s
+3y9)3sl%hssss\s3n9r3%s3"9'3%s3y9)3sl%hssss\s3n9r3%s3"9'3%s3y9)3sl%hss
+ss\s3n9r3%s3"9'3%s3y9)3sl%hssss\s3n9r3%s3"9'3%s3y9)3slhl:h=(son"s5s h
+ssssns54s3s3%hssss"s54s;"
$d%hssssys54s3cy3he:hhmpd{$"
s t;1{mes>h=(stas5st;]:hssssmpd{$"
s taes>hssssssss=(s s;@%s;$ses5sn.a}@ s393%s;]se:hssssssssmpd{$"
s s)s,,s;$ses>hssssssssssss.d}y@s;n">;@7:hhssssssss7hssss7h7ssssshsshs
+hshshsh
(Note: you may want to download it, or some of it won't work)
Enjoy! :)
|
Cubic JAPH
No replies — Read more | Post response
|
by trizen
on Dec 20, 2011 at 23:20
|
|
|
+($\,$})=($/,q$@$);@@=split$!=>($@
=$}|'/'=>$:=$@,++$@,$@++,$~=(++$@=>
++$@),$.=$",$_=$/|$}.(+(++$@=>++$@).
$~).++$~.$..($;=$}|'!').($^='.'|$}).+
('/'|$}).$~.($@=$}|'(').($"='%'|$}).(+
+++$:=>++$:,+++$:).$..($:^'"').$".$:.(q
},}|$}).$..$@.$;.($}.$}|'#+').$".$:.q|,|
);sub f{print@_}sub i(_){my($l,$j)=0;my(
$x,$y,$z,$c,$h,$v,$d,$s,$p,$o)=(+@{+pop}
,qw w+ -w,qw\| /\,sub{$j=$_[0];$l+$j>+@@
&&($l=$?);@@[do{$l=$j+$l;$l-$j..$l-1}]},
$?);f$.x($z+1),$c,$h x$x,$c;f$.x($z-$_+1
),$d,$s->($x),$d,$s->($_-1-$p),$_>$y?!$p
&&++$p?do{$o=$z-$y;$c}:$p++?$d:$c:$v for
1..$z;f$c,$h x$x,$c,$p?($s->($z-$o),$d):
($s->($z),$z<$y?$v:$c);f$v,$s->($x),$v,
,$z-1>=$y?$_>=$z?($s->($x),$c):($s->($
z-$_-$o),$d):$y-$_>$z?($s->($z),$v):(
$s->($y-$_),$y-$_==$z?$c:$d)for+1..$
y;f$c,$h x$x,$c}+i,,for[24,24,24],[
1,24,0],[24,1,0],[1,0,24],[24,3,1]
|
Vec JAPH
No replies — Read more | Post response
|
by trizen
on Dec 19, 2011 at 23:07
|
|
|
$_ = [
74, 116, 113, 113,
28, 92, 104, 104,
108, 95, 91, 103,
20, 67, 87, 99,
92, 15, 86, 78,
79, 86, 79, 91,
20, 19, 00, 73,
];
{vec(${print${$j},$/;$j},$i++
,8)=$$_[$i]+$i;$$_[$i]&&redo}
or
$_=[$j=#];
101, 98, 102, 108, 28,
69, 111, 108, 108, 23,
87, 99, 99, 103, 90,
86, 98, 15, 62, 82,
94, 87, 10, 81, 73,
74, 81, 74, 86, 15,
2, 31, 6, 17, 0,
$i=$j-$j];
{vec($j,$i++,8)=$$_[$i]+$i;$$_[$i]&&redo||`$j`}
|
JAPH from built-in keywords
4 direct replies — Read more / Contribute
|
by trizen
on Nov 28, 2011 at 16:14
|
|
|
Who said that Perl doesn't have a clean syntax? :)
join eval tell rand reverse ord chr eval split xor
uc prototype eval lcfirst join chmod kill eval ref
split sprintf reverse times xor not eval and srand
tell sqrt formline eval ord lcfirst ucfirst length
glob gmtime exp defined caller or binmode log ord
abs lc sqrt study alarm split time or formline cos
ne rewinddir kill chdir reset prototype split sqrt
ord int localtime abs oct pack pop eq scalar print
telldir open unpack return and unlink write chroot
hex bless utime split chown split close rmdir join
exp fileno getc sleep redo glob mkdir stat ne pack
reverse getpwnam next lstat gethostent and getpgrp
eq log ord time xor chr undef and eval caller and
printf srand lstat chown chdir syscall open select
eq -w closedir sleep chr split and quotemeta reset
require ne closedir sleep chr undef or pack unpack
length study length umask readpipe pos xor defined
join system and die or do exit if defined require
hex defined undef or sprintf localtime cmp time or
abs time and undef and open exp getc fileno system
caller eof rewinddir readpipe return study defined
kill die wantarray and readlink eof readpipe split
eval warn join study abs localtime oct log time or
reverse xor open 0; print chr ord while readline 0
,;print chr abs length time for cos length defined
P.S. Works with perl>=5.14.1.
|
An obfu by any other name
2 direct replies — Read more / Contribute
|
by teamster_jr
on Nov 27, 2011 at 17:30
|
|
|
$_='my($w,$h,$x,$y,$z,$b,$v,$q,@s,@u,@a,@d)=(200,350,1,0,1,32000,chr(3
+9),65521,"
2582500861661521092082371081121531251811863301540361932582502020800771
+0624914813
6182133125230167124168161144241159090126154180197177188164129112226165
+1041421741
5419817714816414713424715507812817116320815809016217615419418718021414
+7111233224
172120142189","1734941700001632042184103200220081061764941740001632042
+2541031202
2011103213411176080051105147303310216047160213390060134162067278329162
+1141621443
1429918612011712529031715009015116230328116813214712729031729412603409
+7");map{@d
=map$_-144,/.{3}/g;while(my($a,$b,$c,$d,$e,$f)=splice@d,0,6){for(my$t=
+0;$t<=1;$t
+=.005){$u[$b+$t*($f*$t+$d)][$a+$t*($e*$t+$c)]=$z}}$z++}@s;sub{while(m
+y$n=pop){$
u[$n/$w][$n%$w]&&next;$u[$n/$w][$n%$w]=$z;push@_,$n+1,$n-1,$n-$w,$n<$w
+*$h?$n+$w:
$n}$z<5&&$z++}->(10*$_)for(1228,550,4005,2816,6943);$h+=10;for(1..$h){
+@d=(1,@{$u
[$_]||[]});push@a,map{$y=($y+($x=($x+($z=($d[$_]||1)-1))%$q))%$q;$z}0.
+.$w}@u=@a;
$h=pack"N2C5",$w,$h,8,3;$w="x\1";while($z=@d=splice@u,0,$b){$w.=pack"C
+SSC*",!!($
b-$z),$z,~$z,@d};$w.=pack"N",$x+($y<<16);for$b(0..255){$b=(($b&1)*0xED
+B88320)^($
b>>1)for 0..7;push@u,$b}open(F,">rose.png");binmode F;print F pack("H*
+","89504e4
70d0a1a0a");print F pack("N",-4+length).$_.pack"N",sub{$w=$h=0xFFFFFFF
+F;$w=$u[($
w^$_)&0xff]^($w>>8)for unpack"C*",$_;$w^$h}->()for"IHDR$h",pack("H38",
+"504c54450
00000003000b200006f0000004"),"tEXtComment\0".join($/,unpack("(a80)*","
+\$_=$v$_$v
;s#\$/##g;eval")),"IDAT$w","IEND"';s#$/##g;eval
(generates rose.png)
Updated to work in 5.8 & golfed some
|
|