in reply to Converting fixed record length files to pipe delimited

This the part unpack was born to play. It'll let you defile define field lengths, which you can stuff into an array. I'm taking a guess as to what the field names might be, and what the field lengths would be; it'd have been more useful to know those than to actually see the text ;)
if you wanted just the first 5 fields, and rework the first, third and second :
($part_code, $part_size, $part_size2, $quantity, $cryptic_field) = unp +ack ("A54 A7 A7 A10 A5", $line_from_file); print OUT join ("|", ($partcode, $part_size2, $part_size));
make sense?