while () { my ($name,$type,$value) = $_ =~ /^blah::(\w+)\s+(\w+):(\d+)/; print "blah::$name=$value\n" if $name and $value; } __DATA__ blah::status integer:22 blah::max integer:5 #### my %table; while () { my ($name,$type,$value) = $_ =~ /^blah::(\w+)\s+(\w+):(\d+)/; $table{$name} = $value if $name and $value; }