>             return unless /($searchstring)/;

As I've said,

return unless /\Q$searchstring/;  # using '\Q' to disable pattern
metacharacters

is this maybe better?

-----邮件原件-----
发件人: Matt Herzog [mailto:[EMAIL PROTECTED] 
发送时间: 2007年3月26日 9:14
收件人: Begin Perl
主题: Re: File::Find again

On Fri, Mar 23, 2007 at 03:09:31PM -0700, Wagner, David --- Senior
Programmer Analyst --- WGO wrote:
> > -----Original Message-----
> > From: Matt Herzog [mailto:[EMAIL PROTECTED]
> > Sent: Friday, March 23, 2007 15:00
> > To: Begin Perl
> > Subject: File::Find again
> > 
> > Hello All.
> > 
> > I can see why people hate this module but I can't seem to let go.
> > I point this script at a deep dir structure that has java 
> > .properties files sprinkled throughout it. Right now when I have my 
> > regex "hard coded"
> > in the file, (.properties$) the search works fine. I need to be able 
> > to use the variable $searchstring at the command line. Is this even 
> > possible? If not, is there a way to exclude directories from being 
> > returned?

This is all I needed. I swear I had " /($searchstring)/; " in there at some
point before . . .  so if I pass it 

-s "\.properties$" 

at the command line, it works as expetcted. Nice.

################################################################
use strict;

use warnings;

use File::Find;

use Getopt::Std;

use vars qw/ %opt /;

my $args = 't:s:a:';
getopts( "$args", \%opt ); 
my $targetdir = $opt{t};      
my $searchstring = $opt{s};         
my $append = $opt{a}; 

        find(\&mod, $targetdir); 
            sub mod { 
            return unless /($searchstring)/;
                    
    print "$_\n"

}

################################################################


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



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


Reply via email to