Do you want to read them just in order to copy them? If that's the case, just use File::Copy (update: and maybe glob or as posted below opendir, readdir, closedir). If you want to process them somehow while you're reading them and write the result, then you'll want to use open, read or sysread, and print or syswrite.