Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Legacy Data Files on a Case-sensitive File-system

by jwkrahn (Abbot)
on Jan 21, 2010 at 01:16 UTC ( [id://818606]=note: print w/replies, xml ) Need Help??


in reply to Legacy Data Files on a Case-sensitive File-system

my $name = 'aramis.DAT'; ... if (/$names/i){

I assume that is supposed to be $name in both places?    The period in the file name is a regular expression meta-character which will match any character so you have to escape it to match a literal period character.    This is usually done by using the quotemeta operator.    The regular expression, as it is, will match any file name of any length that contains the string 'aramis.DAT' so you should anchor the pattern so it just matches a file name of the same length as the pattern.    In other words:

if (/$names/i){

Should be:

if (/\A\Q$name\E\z/i){

Or you could compare file names without using regular expressions:

my $name = 'aramis.dat'; ... if (lc eq $name){

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://818606]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (5)
As of 2024-04-16 16:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found