while( my $line = ) { print $line; chomp $line; my( $reqid, $dest, $from, $date, $time, $npages, $rcv ) = $line =~ m[ ^ # Beginning of input line. (\d+)\s+ # REQID (\w+)\s+ # DEST (\S.*?\S)\s+ # FROM (Accept non-space, anything [non- # greedily], non-space) (\d{1,2}/\d{1,2})\s+ # DATE (\d{1,2}:\d{1,2})\s+ # TIME (\d+)\s+ # nPages (\w+)\s* # RCV $ # End of input line. ]x; print "REQID: [$reqid]\tDEST: [$dest]\tFROM: [$from]\n"; print "DATE: [$date]\tTIME: [$time]\n"; print "nPages: [$npages]\tRCV: [$rcv]\n\n"; }