Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Inconsistency in warning for parens with my.

by shmem (Chancellor)
on Jul 06, 2011 at 14:08 UTC ( #912980=note: print w/replies, xml ) Need Help??


in reply to Inconsistency in warning for parens with my.

A bit off topic:

shmem [qwurx] ~ > perl -wle 'my $f = "X"; open my $fh, $f' shmem [qwurx] ~ >

Nothing. Hmm...

shmem [qwurx] ~ > perl -wle 'my $f = "X"; open my $fh, $f;' Parentheses missing around "my" list at -e line 1. shmem [qwurx] ~ >

Heh...

:-)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://912980]
help
Chatterbox?
[tobyink]: *in your grep block
[tobyink]: You can use grep { $_ =~ /.*$in.*/; } @my_modules but why not stick to grep(/.*$in.*/, @my_modules)? (The latter is faster.)
[shmem]: Lady_Aleena, in the first example grep evaluates the result from grep and if true, returns $_. In the second, it always returns $_
[shmem]: ..the result from the pattern match
[Lady_Aleena]: tobyink, I did after I failed to get the BLOCK to work. I can't seem to get my brain around grep BLOCK, though I'm okay with grep EXPR.
[shmem]: so in the second example grep returns all true elements of the list passed
[Lady_Aleena]: Okay, so grep BLOCK is not like map BLOCK where something might need to be returned at the end.
[tobyink]: grep { $_ =~ /.*$in.*/; } @my_modules should work just fine. The problem is that you were adding on ;$_ at the end of the block. Why were you doing that?
[Lady_Aleena]: tobyink, I was thinking map.
[tobyink]: Something does need to be returned at the end not $_ though. You need to return (something that will be evaluated as) a boolean.

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (7)
As of 2017-05-27 07:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?