use strict; use warnings; use File::Slurp; my $read_file = read_file( "file" ); #read_file my $memory_file; #declare memory file my ( $buf, $data, $n, $bytes ); #declare variables while (( $n = read $read_file, $data, 4096 ) != 0 ) { print $memory_file, pack( "v*", unpack("n*", $data )); #byte reverses $bytes+=$n; } open ( my $write_file, ">", "reversed" ); #writes byte reversed memory file to syswrite ( $write_file, $memory_file ); #disk AFTER it byte reverses in #memory. read ( $memory_file, $stuff, 0x200 ); #should return a value but doesnt print ( $stuff );