Okay, now I have to admit I'm also new to Perl, but I can adapt to change:

        /^.*\.[tj][pi][gfe].{0,1}$/i

I threw in the quantifier to avoid what Felix exposed. Now, there's
probably a hole in this somewhere, but it's got to be a small one...

-Paul

-----Original Message-----
From: Felix Li [mailto:[EMAIL PROTECTED]
Sent: Monday, December 06, 2004 4:38 PM
To: Paul Ohashi
Subject: Re: Trouble with compound regular expression matching


print "No!" if "i.tied.my.shoes" =~/^.*\.[tj][pi][gfe].*$/i;


----- Original Message ----- 
From: "Paul Ohashi" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, December 06, 2004 7:24 PM
Subject: FW: Trouble with compound regular expression matching


Hmmm.. I'm new to this list and I just replied to the message and it
seems to have gone directly to Jeffrey, sorry 'bout that...

I did need to add the case-insensitivity to the regex:

/^.*\.[tj][pi][gfe].*$/i

That's better, I think.

-Paul

-----Original Message-----
From: Paul Ohashi
Sent: Monday, December 06, 2004 4:19 PM
To: 'Jeffrey Paul Burger'
Subject: RE: Trouble with compound regular expression matching


This one worked for me:

/^.*\.[tj][pi][gfe].*$/

Hope this helps
- Paul

-----Original Message-----
From: Jeffrey Paul Burger [mailto:[EMAIL PROTECTED]
Sent: Monday, December 06, 2004 4:06 PM
To: [EMAIL PROTECTED]
Subject: Trouble with compound regular expression matching


I tried everything I could think of to get this to work before pleading for
help!

I need to check if a file is either a TIFF or JPEG graphics file.
(Case-insensitive variations of qualifying suffixes would be .tif, .tiff,
.jpg and .jpeg.) So far I have three difference versions of what seem to be
a valid line of code to test a single pattern. ($file_name holds the name of
the file. Also, for logic reasons, I'm testing that it's NOT one of these
types):

if ($file_name !~ /tif$/i) {}

if ($file_name !~ m/tif\b/i) {}

if ($file_name !~ m/.*.tif/i) {}

But I can't for the life of me figure out how to structure a working version
of a more complex variation on any of the these that test all four cases (or
even a second one, for that matter). From my reading, I would expect the
following to work, but it doesn't:

if ($file_name !~ /tif$/i | /jpg$/i) {}

Any help would be greatly appreciated.

Thanks!

Jeffrey Paul Burger
2675 W. Hwy. 89A - PMB 455
Sedona, AZ 86336
928-203-0170

"There are only two ways to live your life.
One is as though nothing is a miracle.
The other is as if everything is."
                                    --Albert Einstein




-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>



--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to