#! perl -slw use strict; while () { my @data = unpack 'A9 xx A14 xx A7 xxx A*', $_; { local $,='|', print @data; } } __DATA__ 0x130005d 1.253.54.1_MIB 0x230f0 SNMP 0x130009c 0x1006b SnmpPif # Gives C:\test>217843 0x130005d|1.253.54.1_MIB|0x230f0|SNMP 0x130009c||0x1006b|SnmpPif C:\test>