use Tie::File; my $file = shift @ARGV; tie my @data, 'Tie::File', $file or die $!; tie my @reversed, 'Tie::File', $file."rev" or die $!; @reversed = reverse(@data); untie @data; untie @reversed;