while (<>) { do_stuff_to $_; } or for (@ARGV) { do_stuff_to $_; } #### while (<*>) { do_stuff_to $_; } or better opendir DH,"."; @dir=readdir DH; closedir DH; foreach (@dir) { Do_your_thing $_; } #### open (FH, ">/temp/tempfile"); print FH $temporary_data; #### my $tempdir = "/temp/"; my $tempfile = "tempfile"; and then open FH "$tempdir$tempfile";