#!perl my $blocksize = (stat'.')[11] || 4096; open ( my $s, "<", "source" ) or die "Could not open source file: $!\n"; open ( my $d , ">>", "dest" ) or die "Could not open destination file : $!\n"; my $buffer; do { local $/ = \$blocksize; print {$d} $buffer while ( $buffer = <$s> ); }