in reply to How can i debug compound map/grep statements just using print?
use strict; use warnings; { my $level = 0; sub reset_list_debug { $level = 0 } sub custom_list_debug (&@) { my $code = shift; print "==" x $level, $level ? "> " : '', join(q( ), map($code- +>($_), @_)), "\n"; $level++; return @_; } sub list_debug { custom_list_debug { "$_" } @_; } } my @letters = list_debug map { lc $_ } list_debug grep { /[AEIOU]/ } list_debug map { uc $_ } list_debug 'a'..'z'; reset_list_debug(); my @letters2 = custom_list_debug { qq("$_") } map { lc $_ } custom_list_debug { qq([$_]) } grep { /[AEIOU]/ } custom_list_debug { qq('$_') } map { uc $_ } custom_list_debug { qq( $_ ) } 'a'..'z'; reset_list_debug();
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: How can i debug compound map/grep statements just using print?
by karlgoethebier (Abbot) on Dec 01, 2012 at 23:24 UTC |
In Section
Seekers of Perl Wisdom