連想配列制御

連想配列のキーの存在チェック

# 設定
%hash = ('key1' => 100, 'key2' => 200, 'key3' => 300);
 
# チ-ェックキー
$chk = 'key2';
 
# チェック
if( (exists $hash{ $chk } ) == 1){
	print "キーあり";
}else{
	print "キーなし";
}
 
キーあり
 

キーと値のセットを削除1

# 設定
%hash = ('aaa' => 100, '200' => 250, 'fff' => 888);
 
print "削除前リスト出力\n";
while(($key, $value) = each %hash){
	print "$key : $value\n";
}
 
# 削除処理
$var = delete $hash{'200'};
 
print "\n削除データ=" . $var . "\n\n";
 
print "削除後リスト出力\n";
while(($key, $value) = each %hash){
	print "$key : $value\n";
}
 
削除前リスト出力
200 : 250
fff : 888
aaa : 100
 
削除データ=250
 
削除後リスト出力
fff : 888
aaa : 100
 

キーと値のセットを削除2

# 設定
%hash = ('aaa' => 100, 'bbb' => 250, 'ccc' => 360, 'ddd' => 500);
 
print "削除前リスト出力\n";
while(($key, $value) = each %hash){
	print "$key : $value\n";
}
 
print "\n";
# 削除処理(複数指定)
@var = delete @hash{'aaa', 'ddd'};
foreach $value (@var){
	print "削除データ=" . $value . "\n";
 
}
print "\n";
 
print "削除後リスト出力\n";
while(($key, $value) = each %hash){
	print "$key : $value\n";
}
 
削除前リスト出力
bbb : 250
aaa : 100
ccc : 360
ddd : 500
 
削除データ=100
削除データ=500
 
削除後リスト出力
bbb : 250
ccc : 360
 



最終更新:2011年12月31日 22:52