Hi,
 
I'm not an expert Perl developer, but I may be able to help you.  Here's the way I've done it in the past:
 
----------------begin code sample------------------
 
#!/usr/bin/perl -w
 
use strict;
 
my $input_dir = '/path/to/files/';   # directory to search
my $fileext = '.lisa';                   # file extension to find
my $count = 0;                         # files found counter
my %files = ();                          # hash for file list
 
# open filehandle to read output from "ls" command
open(INF,"ls $input_dir|") or &error_msg("Cannot get directory listing for \'$input_dir\'.  Error: \'$!\'\n");
while(<INF>)
{
 chomp;   # drop line terminator
 if ($_ =~ m/$fileext$/) # match files ending in specified file extension
 {
  $files{$count} = $_;   # add entry to hash
  $count++;                # increment file counter
 }
close(INF);     # drop filehandle
 
exit(0);
 
----------------end code sample------------------
 
I hope this helps.
 
 
Tom
 
----- Original Message -----
From: Pankaj Bhatia
To: fedora-perl-devel-list@redhat.com
Sent: Wednesday, November 23, 2005 9:59 AM
Subject: Question.

Hi,
I am a beginner perl developer.
I am writing a script for pasing all files in a directory with perticular suffix.
I use File::Find but I want to avoid searching in subdirectories. I tried to use File::Find::prune in "wanted" function. bit it did not work. So I use a heck
return unless ($File::Find::topdir eq $File::Find::dir); to avoid processing in sub directories. but this is an inefficient way. I want to limit search only to first directory level.
Please let me know the efficient way to do it. and any comments/modification on the code would also be appriciated.
Regards
Pankaj

sub wanted {
    ## dir tree Depth = 1
    return unless ($File::Find::topdir eq $File::Find::dir);
    $fileext= ".cgd";
    if ($_ =~ /$fileext$/) { # $_ contain file base name.
                             # $ sign at end of pattern looks for
                             # .lisa suffix

       $files[$Count] = "$File::Find::name";
       $Count++;
   }
}

 


--
Fedora-perl-devel-list mailing list
Fedora-perl-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-perl-devel-list