my $line = 'One animal="ap3!" and another one fish="s4lm%%on" can all be eaten. (So can the bird="sparr0w!$$")'; #### $something{animal} => ap3! $something{fish} => s4lm%%on $something{bird} => sparr0w!$$ #### while($line =~ s/([\w\d\_]+)="(.+)"//) { $something{$1} = $2; }