my %snapshot_roster = map { ($k,$v) = (split /\s+/,$_)[2,4]; strip_stamp($v) => [ $k, $v ]; } @snapshot_listing; sub strip_stamp { /-([\d]+)$/ and return $1; }