Perlの連想配列で最初のkeyとvalueを削除するには?

[上に] [前に] [次に]
ジバコ [E-Mail] 1999/08/17(火) 16:43:35
こんにちわ。とほほのperl入門、とても役立っています。
しかし、今日連想配列の事でわからなくなってしまいました。

普通の配列の最初の要素の取り出し(削除)は
shift(array)でできたのですが、
連想配列の最初の添字(key)と要素(value)の取り出し(削除)が
どうしてもできませんでした。

%test = ("a","hellow","b","good");
という連想配列を作り、
"a"と"hellow"を取り出し(削除)たいのです。

どうすればできるのでしょうか。
御教授おねがいします。

ジムシー 1999/08/17(火) 17:23:45
delete関数を使えばできます。
質問を例に取れば
delete $test{"a"};

zizz... [HomePage] 1999/08/17(火) 17:35:50
配列と違ってハッシュには順番の概念がないので、
"最初の要素" という取り出し方はできないと思います。

\n 1999/08/17(火) 21:14:03
zizz...さんのおっしゃるとおり連想配列に納めてしまえば、
取り出すときの順番が無いので無理でしょう。

しかし連想配列に格納する時、つまり$form{$key}=$value;の時に
処理すれば、フォームページから送られた順番での最初とか最後の
データは処理できると思います。

\n 1999/08/17(火) 21:47:44
あっあと、連想配列に格納するときに、フォームから送られた
$keyを同時に普通の配列に順番に格納して、それをフォームからの
送られた順番とすれば、後からでも判るかも。

ジバコ 1999/08/18(水) 01:58:13
[[解決]]
ありがとうございました。おかげでなんとかできるようになりました。

[上に] [前に] [次に]