Hi all.
$_=' ##### init: ##### &p; #### restart: ### &p; ##### main: ##### &p; #### finish: #### &p; sub p {select'.('$`,'x3).'($|=print)/9 for@_} '; $.="he,qng]dJshQ ruJr Paaktg oetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i"; s#([^\#\s])(?=.* \#)|;#$^=(-97+unpack U,$1)%length$.;$&!~/;/?$.=~s/\ ?(?<=.{$^})./$\.="'$&',";""/e:($/=$\,$\="","($/)".$&)#eg;eval
Did this after people complained that i don't comment my code enough :-).
Hope you like it, standard apologies if it's been done before etc.
Al

Update: changed output style.

Replies are listed 'Best First'.
Re: comments are important after all
by jdalbec (Deacon) on Jun 07, 2005 at 15:42 UTC

    Each comment (init:, restart:, main:, finish:) is converted into the appropriate JAPH word by indexing into $.. The characters of the JAPH word are stored in $\ initially; once a word is complete, it is moved to $/ and inserted into the next &p; subroutine call.

    We track the values of $. and $\ below.
    # he,qng]dJshQ ruJr Paaktg oetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # '' # abcdefghi # he,qng]dshQ ruJr Paaktg oetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'J' # abcdefghijklmn # he,qng]dshQ rJr Paaktg oetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'Ju' # abcdefghi # he,qng]dhQ rJr Paaktg oetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'Jus' # abcdefghijklmnopqrst # he,qng]dhQ rJr Paakg oetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'Just' # :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` # he,qng]dhQ rJr PaakgoetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'Just ' # &p('Just '); # he,qng]dhQ rJr PaakgoetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # '' # abcdefghijklmnopqr # he,qng]dhQ rJr PakgoetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'a' # abcde # he,qg]dhQ rJr PakgoetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'an' # abcdefghijklmnopqrs # he,qg]dhQ rJr PakgetljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'ano' # abcdefghijklmnopqrst # he,qg]dhQ rJr PakgeljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'anot' # a # e,qg]dhQ rJr PakgeljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'anoth' # abcdefghijklmnopqr # e,qg]dhQ rJr PakgljryccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'anothe' # abcdefghijklmnopqrst # e,qg]dhQ rJr PakgljyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'another' # :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` # e,qg]dhQ rJrPakgljyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'another ' # &p('another '); # e,qg]dhQ rJrPakgljyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # '' # abcdefghijklm # e,qg]dhQ rJrakgljyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'P' # a # ,qg]dhQ rJrakgljyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'Pe' # abcdefghi # ,qg]dhQ JrakgljyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'Per' # abcdefghijklmn # ,qg]dhQ JrakgjyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'Perl' # :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` # ,qg]dhQJrakgjyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'Perl ' # &p('Perl '); # ,qg]dhQJrakgjyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # '' # abcdef # ,qg]dQJrakgjyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'h' # abcdefghi # ,qg]dQJrkgjyccwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'ha' # abcdefghijklmn # ,qg]dQJrkgjycwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'hac' # abcdefghi # ,qg]dQJrgjycwsR_djeYK^Y[Ued]_IW_WPPijsP^i # 'hack' # abcdefghijklmnopqrs # ,qg]dQJrgjycwsR_djYK^Y[Ued]_IW_WPPijsP^i # 'hacke' # abcdefgh # ,qg]dQJgjycwsR_djYK^Y[Ued]_IW_WPPijsP^i # 'hacker' # :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` # qg]dQJgjycwsR_djYK^Y[Ued]_IW_WPPijsP^i # 'hacker,' # &p('hacker,'); # qg]dQJgjycwsR_djYK^Y[Ued]_IW_WPPijsP^i # ''

      oooh, shiny! how did you do that spoiler node/page trick thing?

      I recall discussion on the subject, but I don't remember where/when. A quick refresher in the form a link to documentation would be most appreciated!

      - another intruder with the mooring in the heart of the Perl

        <spoiler> and </spoiler> (in the same manner as readmore)

        alex

        See the Perl Monks Approved HTML tags. It contains a list of all appropriate HTML tags, along with the Perl Monks pseudo-tags: <code>, <readmore>, and <spoiler>.