http://www.perlmonks.org?node_id=785026


in reply to Check21/X9.37 text extractor

open(FILE,'<',$ARGV[0]) or die 'Error opening input file';

You should include the $! variable in the error message so you know why it failed to open:

open FILE, '<:raw', $ARGV[0] or die "Error opening '$ARGV[0]' $!";


while (read (FILE,$_,4)) {

Just because you ask for 4 bytes that does not mean the operating system will give you 4 bytes.   You should verify that you actually received 4 bytes.


  read (FILE,$_,$rec_len);

Same thing here.


    if ($tiff_flag) {

The only place that you assign any value to $tiff_flag is at the beginning where you set it to 0 so it will always be false.

  or die "Can't create image file";

You should include the $! variable in the error message so you know why it failed to open.