use strict; use warnings; use Fcntl; my $stream; # 'or die ...' removed for clarity sysopen(DUMMY, "dummy.txt", O_RDWR | O_BINARY); my $bytes_read = read DUMMY, $stream, 128; for ( my $i=0; $i<= $bytes_read; $i++ ){ my $char = substr( $stream, $i, 1 ); print $i, ": ", ord( $char ), " => *", $char, "*\n"; }