opendir $dh, $dir_of_files or die "Couldn't open dir '$dir_of_files': $!"; my @comparefiles= readdir $dh; closedir $dh; for each $file in @comparefiles { read_write_subroutine($file); } sub read_write_subroutine { put your whole code here which is currently you are using }