Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

'Cos it's a Sin :)

by Dog and Pony (Priest)
on Mar 10, 2002 at 02:17 UTC ( [id://150648]=obfuscated: print w/replies, xml ) Need Help??

Alright, this might be considered a follow-up to Spiraling Death: not a boustrophedon. in a way, since it has a similar idea, but this is a whole new story. Besides having this nice egg-shape (in a square font it would be a circle though), it produces some interesting real time calculated output. No rocket-science calcs, but anyway... if it wasn't calculated, it would probably look more even. :)

I would also like to thank domm for teaching me one of the tricks I use.

#!/usr/bin/perl ######### use strict; #####$japh="#### ###yrs#){if(#$e#J### ##me70";}unshif);d$u### ##;v,\x3@/180#){$dt#}ijs## ##+e0##14#pos[$y]37yat@eat## ##+8\)p.=$]##'#'););###adla### ##|2#o3#;yet#nt#"$_@dsn=-=#smA## #$,.p=x$nfi$jprint;ap\aue##ie#n# #;rh;+$[#i"){_=#37#-=&thtbxi3a{po# ##=p#_;s)r#9$#ly#$leti#0i.nstn7t@h## #)7")so#p,(x$maletter;tni;""t#tfa=t# ##ja7$n1h/r$;t$38rint-$)sen$xar##(d;## #a3#3ops/1{na,#p&elect#x;u#tm3)i#-,=h# #ajj;i#{xoid1;;seef,0fti"sb=_e;("##ac# ##p$#c$#t');#,"{dE0000N.#m,ue#;;;fa$th## #t#a8*#,ifs@e)en_000000D0u$#s#<f}(#i'#e# $b=40;$0=',';while($b--){for( $_=0; $_ < 6.28;$_+=3.14/180){my$x=int abs 20+$b/2* cos;my$y=int abs 20+$b/2*sin;next if($y< 23&&$y>16);next if($0=~/,$x-$y,/);$0 .= "$x-$y," ;seek(DATA,$y*41+$x,0);$a.= chr ord~~<DATA>;}}$a=~s/(#|__.*)/ /g;eval$a; #a(p2s,1l;*#nrmu_0000005,e1bra}&#"bdaom# ##h"=2!#p.5),ini,}00__;u;lst"9ot$#n#7r## #$#h.*x)#"5txe\tdfednn}i,r#bpr}#si#### #d#$=/(,s'21f$lte#busn#t(=s.eipxt'=py# ###(#62$x#n/+i#$#tel$(r###4rmos#a,)P## #@m#mmf#s=\428h,enil$s#32iefu##'#### ##y#.<ai,o#,"1/3(#x#"7;na;ob(ams{e## #,m,a_i#]$a//#.3=+_$thc}ss$b#J@r(# #ea/i$d)y#ptatilps(d@r[tds='d$@# ##ni/d;$/1$,]@(hcaey$ri3#=,ahp## ##idth$0+m+m[sop$#(a73#'ptpo## ##l;ip(f=2/aid$+2/77'.lals## ##$"$laji_$(rof;)#ti#a#,## ##,r#ps$"#(#,//#=jH$## ###mekhcaerof;cax### ####aid$,y$,#### ########## __DATA__
Important(?) notes:
  • If you are on Windows (or a Mac?), you must save the file with UNIX line endings or it will not work. Most text editors provide this capability, or something like this node might help.
  • The right side must be space padded so all lines are equally long (as long as the longest ones in the middle). No longer lines either. I could just copy from the preview, save and run, so this might not be an issue, but I don't know if you D/L code instead. :)
  • After some discussion with sm3g we concluded that the script should be run with perl program-name - this is how I run my programs, and due to this failing it will work better that way. It is my testing, not perl. :) Thank you!
  • Update: sm3g apparently had to make some minor changes to get this to work on his? her? platform, also try that advice if something seems wrong. :) Thanks for the help! The script is a little picky...
  • If you can read all of the code without deparsing in any way, you really, really scare me :)

Any comments would be very appreciated, if you have them. :) And solutions too, if anyone feels up to it?

Have fun!


You have moved into a dark place.
It is pitch black. You are likely to be eaten by a grue.

Replies are listed 'Best First'.
Re: 'Cos it's a Sin :)
by sm3g (Hermit) on Mar 10, 2002 at 02:39 UTC
    This is really cool.

    To get it run I had to change the shebang line to:
    #!/usr/bin/perl -w ########             

    I think that's padded with the correct number of spaces to the right. For some reason I couldn't make it correct within <code> tags here so I had to put it in <pre>
    I'll have to play with Deparse and see if I can figure out what this is doing.
    Oh, and I like the pun. :)

    Update: Your new first line still doesn't work on my system. When I run it I get
    sm3g-~/perl/obfu$ ./egg1.pl bash: ./egg1.pl: No such file or directory

    I've had this happen before with other shell scripts and I'm pretty sure this is because bash sees the shebang line, looks for /usr/bin/perl-w (so the executable would have to be "perl-w") and can't find it. Maybe you have "perl-w" aliased to "perl -w"?
    When I try it with #!/usr/bin/perl -w######## I get Unrecognized switch: -#######  (-h will show valid options). I think perl is trying to parse the #### as options.

    This is all on a pretty vanilla Linux Mandrake 8.1 with Perl 5.6.0
    What OS are you running? Mine might just be messing with my head today. :)

    Update2 Electric Boogaloo: I finally decided the best way to run this was to just do a perl program.pl It makes everything happy, birds sing, butterflies start floating by and all the children of the world sing together in harmony. Well, at least one of those.

    sm3g
    perl -le 's;;uoli;;$a=length;y;g-w;e-u;;;$a--;s;j;$a;;print'

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: obfuscated [id://150648]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (5)
As of 2024-04-24 06:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found