#! perl -slw use strict; use Data::Dump qw[ pp ]; my %dfs; m[([a-z]+)(\d+)] and push @{ $dfs{ $1 } }, $2 while ; pp \%dfs; __DATA__ brain0001 lung0001 brain00002 kidney0003 brain00003