テキストの中に

name = "hoge1" value ="hoge"
name = "hoge2" value =1230

などを

while (m/name=\"(.*?)\".*value=(.*?)(\ |>)/g)
{
%data = (%data,$1 => $2);
}

と連想配列に入力するのですが""で囲まれた要素は""まで入力されてしまいます。
これから""を除くにはどうしたら良いでしょうか?
s /\"//s;とかすると要素に文字列にダブルクォーテーションが入った時に
期待どおりに結果が出ないので困っています。

どうかご教授を。