my %table; while () { my ($name,$type,$value) = $_ =~ /^blah::(\w+)\s+(\w+):(\d+)/; $table{$name} = $value if $name and $value; }