in reply to The way around < 5.6.x grep(... [,]* readdir(DIR)
I'm sorry, I can't quite tell what your question is.
As for the syntax for grep, you can write a simple one two ways.
The first is with a block and without a comma.
grep { /x/ } @source;
The second is with an expression and with a comma.
grep( /x/, @source );
The second one can be written without the parentheses, but not without the comma.
grep /x/, @source;
If you need to be more complicated than a simple expression, you need a block because you can't use a semicolon in a simple expression.
grep { my $x = $_; $x =~ s/\D//g; my $y = f( $x ); ( $y > $x ) } @source;
Sometimes you can cook a bit with operators.
grep s/\D//g && f( $_ ) > $_, @source;
...but not always. The difference between the last two examples is that the second one modifies @source, while the second one doesn't.
Again, I can't tell what your question is, so I don't know if it helps. Hopefully there's something useful.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: The way around < 5.6.x grep(... [,]* readdir(DIR) (5.6)
by tye (Sage) on Mar 19, 2008 at 21:41 UTC |