File find closure : File « File « Perl






File find closure

    

#!/usr/bin/perl

use strict;
use warnings;
use File::Find;

die "Give me a directory\n" unless @ARGV;

{
    my @results;

    sub wanted { push @results, $File::Find::name }
    sub findfiles {
        @results=();
        find \&wanted, $_[0];
        return @results;
    }
}

foreach my $dir (@ARGV) {
    print("Error: $dir is not a directory\n"), next unless -d $dir;
    my @files=findfiles($dir);
    print "$_ contains @files\n";
}

   
    
    
    
  








Related examples in the same category

1.Copy files
2.Copying a file using the File::Copy
3.Create a directory tree
4.Determine the contents of a directory tree?
5.File finder and callback
6.File size with FIELDS
7.Find file
8.Find out if there's a copy of the dir program on this computer
9.Using a Callback
10.Extracting file names from paths
11.$File::Find::prune = 1 if /dir1/;