Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

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.

Comment on Re: Pattern match array
Select or Download Code
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 the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2015-02-02 00:13 GMT
Find Nodes?
    Voting Booth?

    On my keyboard, Caps lock is:

    Results (16 votes), past polls