#!/usr/bin/env perl use 5.010; use strict; use warnings; while () { say '[', join(']~[' => map { s/\s*$//; $_ } unpack 'A8A14A22A6A9A3A*'), ']'; } __DATA__ 138454 mail_room Marco's Pizza 12/26 21:52 1 rcv 138446 custsvc 973 618 0577 12/26 18:44 1 rcv 138445 county2 spam 12/26 18:41 3 rcv 138444 custsvc spam 12/26 18:30 1 rcv 138439 county2 7182737253 12/26 17:54 2 rcv 138438 county2 Acme Products, Inc. 12/26 17:52 1 rcv #### $ pm_split_space_sep_log.pl [138454]~[mail_room]~[Marco's Pizza]~[12/26]~[21:52]~[1]~[rcv] [138446]~[custsvc]~[973 618 0577]~[12/26]~[18:44]~[1]~[rcv] [138445]~[county2]~[spam]~[12/26]~[18:41]~[3]~[rcv] [138444]~[custsvc]~[spam]~[12/26]~[18:30]~[1]~[rcv] [138439]~[county2]~[7182737253]~[12/26]~[17:54]~[2]~[rcv] [138438]~[county2]~[Acme Products, Inc.]~[12/26]~[17:52]~[1]~[rcv]