open (DATA, "$inputdir/$inputfile"); while () { my ($filehdr, $data) = m|(.{40})(.*)|; ($len = substr($data, $offset, 4)) =~ s/^0//g; foreach $val ($data) { $cdata = substr($val, $offset, $len); print "$cdata\n"; } } close(DATA);