質問です

1,山田,20,男
2,田中,23,女
...
という様なテキストファイルを読み込んで,
%id1 (
id=>1,
name => "山田",
age =>20,
sex => "男",
);

%id2 (
id=>2,
name => "田中",
age =>23,
sex => "女",
);

となる様な%id?というハッシュ変数に代入したいのですが,
@list_oneline =("1,山田,20,男", "2,田中,23,女"...);
とした後どうしたら良いかわかりません.

なにかヒントをいただけないでしょうか?