Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Print all derefs and method calls in a directory (Friday golf)

by JavaFan (Canon)
on Jan 09, 2009 at 09:44 UTC ( #735132=note: print w/replies, xml ) Need Help??


in reply to Print all derefs and method calls in a directory (Friday golf)

It seems to miss cases like:
$foo ->[2]; # Space before or after -> print $_->{bar}; # Only two non-space chars before -> $sum += $_->[0] for @array; # Only three non-space chars after ->
And since you aren't using warnings, you don't get a warning if you try to print an undefined $1.

OTOH, it would find a deref in:

perl -ne '/(\S{3,80}->\S{5,80})/;print $1,"\n"'
Don't tell me you never write code like that!

But I'm baffled by the fact you're searching for '->' when you need to figure out which hashes are in some code.

Replies are listed 'Best First'.
Re^2: Print all derefs and method calls in a directory (Friday golf)
by ikegami (Patriarch) on Jan 09, 2009 at 10:11 UTC
    Assuming rgrep does what I thik it does, $1 will never be undef since he pre-filters the lines.

    (Nevermind, the patterns are different, so it's possible.)

      Unless 'rgrep' does something completely different from 'egrep', 'fgrep' or 'grep', you're wrong:
      $ cat foo $foo ->[2]; print $_->{bar}; $sum += $_->[0] for @array; $ fgrep -e '->' foo | perl -nwe '/(\S{3,80}->\S{5,80})/;print $1,"\n"' Use of uninitialized value $1 in print at -e line 1, <> line 1. Use of uninitialized value $1 in print at -e line 1, <> line 2. Use of uninitialized value $1 in print at -e line 1, <> line 3. $
      He does prefilter the line. But the filter is just for '->' while the pattern requires context around the '->'.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://735132]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (2)
As of 2022-05-21 00:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (76 votes). Check out past polls.

    Notices?