Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: Pattern match array

by thezip (Vicar)
on May 07, 2008 at 15:09 UTC ( #685231=note: print w/replies, xml ) Need Help??

in reply to Pattern match array

This would better be coded using a hash:
use strict; use warnings; my %prims =( "int" => 1, "char" => 1, "long" => 1, "double" => 1, "static" => 1 ); while(<>) { if($prims{$_}) { print "Found item $_\n"; } }
If you absolutely need to have the @prim array, then create the hash on-the-fly using map:
... my @prim = (("int","char","long","double","static"); my %prim = map { $_ => 1 } @prim; ...

After reading moritz's take on this, his seems to be what you're looking for.

I was somehow thinking that you were parsing chunks (ie. words) and then seeing if that word existed in your array/hash.

moritz is also spot-on mentioning that you're not handling the newlines at the ends of lines.

Your wish is my commandline.

Replies are listed 'Best First'.
Re^2: Pattern match array
by moritz (Cardinal) on May 07, 2008 at 15:16 UTC
    But it doesn't do the same thing. aennen searches for substrings, you search for exact matches.

    The fact that the lines aren't chomped means that you'll never get a match (unless on the last line, if it lacks a newline).

Re^2: Pattern match array
by aennen (Acolyte) on May 07, 2008 at 15:25 UTC
    Sorry should have expanded on input.
    Input is source code and I am trying to match
    the pattern in a string of data

    Example input date line

    int EB_Column::beginNPColumn(const bfpd_nc_t& i_rec, BF_COORDINATE_C_D(i_x))

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2018-02-20 08:49 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (268 votes). Check out past polls.