in reply to regexp for directory
> 674562.pl foo foo in /tmp/*.pl: Use of uninitialized value in pattern match (m//) at 674562.pl line 26 +.
Line 26 is:
if ($this =~ /$bit/) {
Since your documentation is a little unclear, I am not sure what this code should do. My guess is that you want to imitate the unix grep command, except that you want a count of all occurances of your regexp, rather than a count of all the lines on which the regexp occurs. If that is the case, I think $this = do {local $/; <PL>}; if ($this =~ /$bit/) should not be inside the while loop. The entire file's contents are slurped into $this when you unset the input record separator, $/.
Update: copy'n'pasted the wrong code. Thanks my_nihilist.
Did you test this code yourself?
I have some other critiques:
my @rank = sort {$hash{$b} <=> $hash{$a}} keys %hash;
Many of these guidelines can be found in the book Perl Best Practices. It is a good investment.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: regexp for directory
by my_nihilist (Sexton) on Mar 17, 2008 at 16:36 UTC | |
|
Re^2: regexp for directory
by halfcountplus (Hermit) on Mar 17, 2008 at 19:55 UTC | |
by Fletch (Bishop) on Mar 17, 2008 at 21:13 UTC | |
by halfcountplus (Hermit) on Mar 18, 2008 at 13:28 UTC |