use File::Find::Rule; my $rule = File::Find::Rule->new; $rule->file; $rule->name( '*.txt' ); my @files = $rule->in("/" ); open(W,"> index.txt")|| die "can't open index.txt file"; foreach $files_name (@files) { print W $files_name ; print W "\n"; }