Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: How to grep exact string

by tobyink (Abbot)
on Nov 15, 2012 at 07:18 UTC ( #1003946=note: print w/replies, xml ) Need Help??

in reply to How to grep exact string

if (grep { $_ eq $unique } @first_list_new) { ...; }
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Replies are listed 'Best First'.
Re^2: How to grep exact string
by Divakar (Sexton) on Nov 15, 2012 at 08:04 UTC
    Hi tobyink, did you try this? i am getting syntax error if i replaced with what you gave. Thanks & Regards, Divakar

      My suggested grep has been correct Perl syntax since Perl 5.0. (Perhaps before?)

      Note there are no parentheses after the grep... not this:

      grep({ ... } @list)

      And note that there's no comma after the block... not this:

      grep { ... }, @list

      It just needs to be like this:

      grep { ... } @list

      If you really want parentheses, they can go on the outside:

      (grep { ... } @list)
      perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
        I think what is breaking it for me is the $_ eq $unique. When I include that, real matches don't register as matches.

        EDIT: nevermind... typo.

      I believe the way you have it is a correct way to do it (see grep):
      grep ( /^$unique$/, @first_list_new )
      An alternate syntax is:
      grep { /^$unique$/ } @first_list_new

        That's not a search for an exact string though. $unique might contain regexp metacharacters like ".".

        perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1003946]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2018-05-20 21:46 GMT
Find Nodes?
    Voting Booth?