while(){ print "\n$1:" if s/^(\d+ \w+)//; print " $1" while(s/(\w+\d+)//); } __DATA__ 1 change by user23 8 changes by 4 users: user1 user2 user3 user4 6 changes by 4 users: user5 user3 user3 user1 user15 1 change by user1