open(my $infile, '<', "./file") or die "Cannot open file: $!"; binmode($infile); open(my $outfile, '>', "./reference1") or die "Cannot create file: $!"; binmode($outfile); my $buffer = ''; sysseek $infile, 0x15, 0; sysread $infile, $buffer, 0x03; syswrite $outfile, $buffer; $buffer =~ s/(.)/sprintf("%x",ord($1))/eg; #this converts it into hex. print $buffer, "\n"; #this prints the converted $buffer (04C0) #### sysseek $infile, $buffer, 1; sysread $infile, $new, 0x40000; syswrite $newfile, $new; #### my $buffer = ''; sysseek $infile, 0x15, 0; sysread $infile, $buffer, 0x03; syswrite $outfile, $buffer; #### sysseek $infile, $buffer, 1; sysread $infile, $new, 0x40000; syswrite $newfile, $new;