Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
please, next time post clear questions with isolated code examples.

map and grep use code blocks which depend on the return value of the last statement.

that means you can use the same techniques used for debugging subroutines, e.g. you can use print anywhere within these blocks, as long as it doesn't change the returned value.

you can also split deeply nested maps and greps in smaller chunks filling temporary arrays and dump these results with Data::Dumper.

UPDATE:

and if you really need it very often, use something which assures the same list as in- and output

sub dumplist { use Data::Dumper; print Dumper \@_; return @_; } @result= map { ... } dumplist grep { ... } @input;

example:

@evenchars = map { $_->[0] } dumplist grep { $_->[1] % 2 } map { [ $_, ord($_) ] } a..l; #prints $VAR1 = [ [ 'a', 97 ], [ 'c', 99 ], [ 'e', 101 ], [ 'g', 103 ], [ 'i', 105 ], [ 'k', 107 ] ];

Cheers Rolf


In reply to Re: How can i debug compound map/grep statements just using print? by LanX
in thread How can i debug compound map/grep statements just using print? by karlgoethebier

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2021-07-26 17:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?