I've been reading some japhs here, that tempted me to try one myself... so here's my small creature.
#!/usr/bin/perl -w use strict; $^=@_=split//,$_="\nrekcaH lreP rehtonA tsuJ";$_=&{sub{%_=map{++$/=>$_ }split'',pop;\%_}}($_);_:$/='!@_';$/=~s^.{3}^%s^;$^&&goto$'.sprintf('' .'_',printf$/,${$_}{$^--});
I find it nice, but I want to learn more from your advices!

Ant9000

Replies are listed 'Best First'.
Re: a japh attempt
by one4k4 (Hermit) on Jun 06, 2003 at 14:40 UTC
    I liked this one, and I offer my attempt at a spoiler below, and it's not 100% imho. (My attempt). I liked your use of split-pop and using $_ as a subroutine ref.. I wasn't quite sure why/what $^&& but I think I narrowed it down to another way to write a while loop..

    Sorry I can't offer much insight, but it was fun. :) highlight <<HIGHLIGHT;
    #!/usr/bin/perl -w
    use strict;
    
    ##$^=length of @_ which = split on anything the variable 
    ##$_ (which = "\nrekcaH lreP rehtonA tsuJ)
    $^=@_=split//,$_="\nrekcaH lreP rehtonA tsuJ";
    
    ##At this point, $^=25, @_="\nrekcaH lreP rehtonA tsuJ";
    
    ##$_=an anonymous subroutine that is passed $_ (remember,
    ##$_=the backwards japh)
    $_=	&{sub{ 	## We create another subroutine inside this one (I think)
    %_=map{++$/=>$_}split'',pop;	
    ## For every char returned by (pop) we split,
    ## Applying that split's $_ to the hash returned
    ## By increasing the value in $/ by one,
    ## $/ starts out as newline, ++ makes it a 1..
    \%_ 
    ## I haven't figured out why we make a ref to %_ yet
    }}($_);
    
    _:## I suspect the goto below has something to do with this.. ;)
    $/='!@_';## Also sets $/ to '!@_'; 
    $/=~s^.{3}^%s^;## Replaces all (three chars in string anyway) with %s
    ## while($^) goto _ but in the sprintf we printf the value at ${_} (created with map above)
    $^&&goto$'.sprintf(''.'_',printf$/,${$_}{$^--});
    
    HIGHLIGHT

    One4k4 - perlmonks@poorheart.com (www.poorheart.com)