Hey Rajesh, being a beginner in perl fooling around similar problems like you, I just have the idea that you might solve the problem by using a hash to store the information about the file's you have already found .
I've used ($FN,$PATH,$EXT) = fileparse ($File::Find::name,'\..*') ; to separate the filename, path and extension of file found by file::find as you may see. What I didn't solve is to store these information in a hash to sort out which file's are already found as decribed in chapter 5 of the perl-cookbook. In chapter 9 of the cookbook they describe how to find the youngest file of all in a given directory-structure like use file::find; @argv = ('.' unles @ARGV; my ( $AGE , $name ); sub youngest { return if defined $age && $age > ( stat($_)) [9]; $age = ( stat(-)) [9]; $name = $file::find:.name; } find (\&youngest, @ARGV); print "$name ". scalar(laocaltime($age)) . "\n"; If you join these code-fragments and store filename, path, ext and age into a hash or other structure you should be able to solve your problem. If you succeed could you please tell me how ? Mit freundlichen Gruessen / Best regards Manfred Beilfuss Deutsche Vermögensberatung AG IT_Systemmanagement , DBA Münchenerstr. 1 60329 Frankfurt Tel.: +49 (69) 2384 - 639 Fax: +49 (69) 2384 - 329 Mailto:[EMAIL PROTECTED] "Rajesh Dorairajan" <[EMAIL PROTECTED] An: "Perl-Beginners (E-mail)" <[EMAIL PROTECTED]> eweed.com> Kopie: Thema: Search for a file pattern in a directory tree recursively 24.03.2004 04:09 Hello All, I went through all the documentation and previous mail posts about File::Find and finally decided I needed some help. I've a directory structure I need to parse. The directory contains subdirectories with filenames such as full094382.db full483292.db Now, I need to parse through each subdirectory and pick up the name of the file that was MODIFIED MOST RECENTLY. I do have a sort of a code to start with. use strict; use warnings; $\ = "\n"; use File::Find; my $localdir = 'C:/docs'; my @files; find( sub { push ( @fullcrls, $File::Find::name ) if /^(full)\w*(\.db)$/ }, $localdir ); foreach ( @fullcrls ) { print; } However, I am not able to figure how to filter out the repeat entries in a sub-directory such as C:/docs/dir1/full094382.db C:/docs/dir1/full483292.db C:/docs/dir2/full482952.db C:/docs/dir2/full930284.db . . . In the above example, I need only need filename from dir1 and dir2 that was last modified. Is there a way to do this filtration in the find( sub {} ) above? Any help will be deeply appreciated. Thanks, Rajesh Dorairajan [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>