Date: Sun, 5 Oct 2003 11:32:11 -0400 (EDT) From: Dan Langille <dan@langille.org> To: freebsd-hackers@freebsd.org Subject: testing for substrings in perl Message-ID: <20031005111656.R18760@xeon.unixathome.org>
next in thread | raw e-mail | index | archive | help
Hi,
I have a perl regex to test if a file resides under a particular
directory. The test looks like this:
if ($filename =~ $directory) {
# yes, this filename resides under directory
}
This is working for most cases. However, it fails is the directory
contains a +. For example:
$filename = 'ports/www/privoxy+ipv6/files/patch-src::addrlist.c';
$match = "^/?" . 'ports/www/privoxy+ipv6' . "/";
if ($filename =~ $match) {
print "found\n";
} else{
print "NOT found\n";
}
Yes, I can escapte the + in the directory name, but then I'd have to test
for all those special regex characters and escape them too.
I think it might just be easier to do a straight comparison of the first N
characters of the two strings where N = length of the directory name.
Any suggestions?
thanks
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031005111656.R18760>
