$record = "abcdefghk Year Sales: 0123456.01 peter x193v 20i39 "; for (unpack "A9 A17 A10 A5 A6 A1 A*", $record) { $i++; print $_,"\n" if $i%2; } #### @format=(9, 17, 10, 5, 6, 1, 11); print_record($record, @format); sub print_record { $record = shift; @format = @_; for (@format) { $i++; $value = substr($record, $pointer, $_); $pointer += $_; print "value: '$value'\n" if $i % 2; } }