while ($data =~ /(.*?)\[(\d+)\]=(.{[B]$2[/B]})/g) { $hash->{$1} = $3; }