my $data; # ugly global; don't do this open(LOG, "file.ext") or die ("oops, could not open source", $!); local $/; # slurp mode (see perlvar Record Separator) $data2 = ; close(LOG); open(LOG2, ">","path/to/copy_of_file.ext") or die ("oops - could not open target", $!); print LOG2 $data2; close(LOG2);