Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://779505]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2022-08-10 14:25 GMT
Find Nodes?
    Voting Booth?

    No recent polls found