Lyle wrote:
> max psykx wrote:
>   
>> whats perl inspiring you to do at the moment?
>>     
>
> Read my previous posts :)
>   

Just remembered I mentioned B::Deparse at some point. It can be 
interesting to get a better idea of how Perl really sees things once 
it's parsed your code.

Sample script:-

use B::Deparse;


sub samplesub {
    for ( my $i = 1; $i < 101; $i++ ) {
        print "$i, ";
        print 'Half way, ' if ( $i == 50 );
    }#for
    print "Bang!\n\n";
   
}#sub


for ( my $level = 1; $level <= 9; $level++ ) {
    my $deparse = B::Deparse->new("-x$level");
    my $body = $deparse->coderef2text(\&samplesub);

    print "Level $level\n";
    print $body;
    print "\n" x 2;
}#for



Sample output (minus levels that gave the same output):-

Level 1
{
    for (my $i = 1; $i < 101; ++$i) {
        print "$i, ";
        print 'Half way, ' if $i == 50;
    }
    print "Bang!\n\n";
}

Level 3
{
    while ($i < 101) {
        print "$i, ";
        print 'Half way, ' if $i == 50;
    }
    continue {
        ++$i
    }
    print "Bang!\n\n";
}

Level 7
{
    while ($i < 101) {
        print "$i, ";
        $i == 50 and print 'Half way, ';
    }
    continue {
        ++$i
    }
    print "Bang!\n\n";
}



_______________________________________________
BristolBathPM mailing list
[email protected]
http://mailman.bristolbath.org/mailman/listinfo/bristolbathpm

Reply via email to