#!/usr/bin/perl $test = process ($folder); #absolute dir $folder = 'test'; system ("ls $folder > files"); ### Now you have a file that is a list of the files in the directory ### You can now applicate process at every line of the file sub process { if ($_ =~ /\.9$/) { print "\nProcessing the fort.9 files, from taylor type to z values\ +n"; open (FILE, '<', $_) or die "Cannot open file: $!"; $/= "# input for"; while () { #do something push(@outLines, $_ ); } close FILE; open ( OUTFILE, ">adjusted.learn" ) or die "Cannot open file: $!"; print ( OUTFILE @outLines ); close ( OUTFILE ); } } print $test,"\n"; exit;