2007/10/11, Jim <[EMAIL PROTECTED]>:
>
> Hi Everyone,
>
> I am trying to match file & subdir names from a back tic generated list.
> I never find anything and there are files in the directory with a correct
> name.
> but if i make up a list to use as filenames
> it works as i expect ... any insight greatly appreciated
>
> thanks
> Jim
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
>
> my @files = qw (filename1 filename2 filename3 filename4);
> #my @dir = qw (file filenaml filename filename2);
> my @dir = `dir`;
>
> foreach my $file (@files)
> {
>         foreach my $line (@dir)
>         {
>                 if ($file =~ m/$line/)
>                 {
>                         print "\nfound one\n";
>                 }
>                 print "file - $file ";
>                 print "line - $line\n";
>         }
> }
>
>
Since you placed #!/usr/bin/perl at the head line, I assume you are on the
*nix.
not familiar with *nix, but I guess if you need this :
foreach my $line ( @dir ) {
 chomp $line;
 .... other statements ...
}
because I think there's a "\n" or "\r\n" tailing in each elements in @dir
and you'll
need to cut it off.

However, if you are on Win, `dir` will gather another whole story list.
you can try to :
print $line ; to see what you have got from `dir`

One thing more, you do not want to compare if there's same file by regex,
you 'll need
if ( $file eq $line ) { }

Regards =)

Panda-X

Reply via email to