Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
Okay, Being that I talk to zdog and really respect his level of programming skill, I decided I'd explain how this one went because while it's somewhat simple, zdog was very creative with it and I like it more than most.

First we'll make it look more recognizable and throw in some quick commentary
#!/usr/bin/perl -w # cooking with perl -- "mmm I hope it's +pie" use strict; { $_.=<DATA>; # read one line of <DATA> redo if !eof(DATA); # read all of data into $_ } s/[ \n3A-Z]//g; # delete any newline, any digit '3'and any A- +Z s/000/032/g; # switch any 000 with a 032 my @z = split //; # Puts $_ into the array @z for (my $i=0;$i<24;$i++) # 23 loops { $_[@_] = "$z[@_*3]$z[@_*3+1]$z[@_*3+2]" # Chops $_ into three digit + sections } my $z; map $z .= chr($_),@_; # maps each three digit sequence into chr($_) to + create each letter in the japh $_ = $z."\n"; #Throws a new line to the end of the $z and stores it in +to $_ print; # prints $_

Now for a line by line description:
Line 1-2 These are of course self explanatory
Line 3-6 This little construct will read all of <DATA> into $_ ending when DATA ends of course
Line 7 The regex here takes out all of the newlines, all the digits'3' and all any alpha numeric ( capital of course ). Which leaves us with the following string07411711511603209711011101161041011140320801011141000072097099107101114 ( hope I didn't miss any )
Line 8 Switches all 000's in the above string with 032
Line 9 Throw $_ into the array @z
Line 10-13 This for loops mercilessly hacks the digit string into sections of three digits. Giving us the following:
074 117 115 116 032 097 110 111 116 104 101 114 032 080 101 114 100 007 209 709 910 710 111 4
Line 14 Declares $z
Line 15 maps the character representation of each three digit piece into $z
Line 16 Adds a new line to $z and assigns it to $_
Line 17 Prints $_ and thus prints "Just Another Perl Hacker"

I was very impressed with this and hope my explination was adequate.

Iron Chef Macphisto
Next episode I'll show you how to make Perl Pie
Addendum: zdog noted that I had mistyped and said the for loop iterates 23 times when it really iterates 24 times. I was typing too fast.

Everyone has their demons....

In reply to Re: Cooking with Perl explained by Iron Chef Macphisto by Macphisto
in thread Cooking with Perl by zdog

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others surveying the Monastery: (6)
    As of 2015-07-05 18:07 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









      Results (67 votes), past polls