my @fields = split '', $input; foreach my $field (@fields) { # what i really wanted to do was... # (undef, $names{$1}) =~ m// but that didnt work either # so I added the $foo and $bar. my ($foo, $bar) = $field =~ m!^(.*) {3}(.*).*$!x; $names{$foo} = $bar; print "$foo == $bar\n"; }