Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: REGEX malfunction

by si_lence (Deacon)
on Jul 13, 2009 at 09:13 UTC ( #779505=note: print w/replies, xml ) Need Help??

in reply to REGEX malfunction

I agree with jethro: code tags would help.

One thing I do not understand is that it looks as if you are looping through the file, but match against a constant $string.

Also you should be using

use strict; use warnings;
in your code, especially if you're just starting with perl. They do help a lot.

In your code there is one thing (if I read it right): Your variable $string starts with an opening parenthesis, but you anchor your match to start without it.
You also have additional blanks around your \s+ matches. You would require 3 blanks to match: one literal one, then one from \s+ and then another literal one. In your string you only have one.

So either change (added quotes around the $string assignment, updated m//) code to

# string to be searched my $string = '(FT CDS complement(join(18028..18116,19351..20668)))'; #search for the first line highlighted in bold if ($string =~ m/^\(FT\s+CDS\s+complement\(join\([0-9.,]+\)\)\)$/) { print 'match' } else { print 'no match' }
or get rid of the outermost pair of parenthesis.

cheers, si_lence

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2018-02-18 00:19 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (250 votes). Check out past polls.