ミスティーネットPerl・CGI講座 パール・CGIレッスン MISTY-NETレンタルサーバー・PERLプログラミング講座 CGI&PERL究極のレシピ

管理運営:有限会社ミスティーネット

| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 |
Perl言語リファレンス

ミスティーネットPerl・CGI講座/基本編
ミスティーネットPerl・CGI講座/基本編
始めに 始めに
変数について 変数について
処理の制御1 処理の制御1
処理の制御2 処理の制御2
配列の処理 配列の処理
ハッシュの処理 ハッシュの処理
数値の扱い 数値の扱い
文字の扱い 文字の扱い
時間の処理 時間の処理
サブルーチン サブルーチン
ファイルの処理 ファイルの処理
ディレクトリの処理 ディレクトリ処理
CGIについて CGIについて
漢字の処理 漢字の処理
    (文字コード)
Cookie の処理 Cookie の処理
正規表現1 正規表現1
正規表現2 正規表現2
演算子について 演算子について
ライブラリ ライブラリ
デバッグ デバック
環境変数について 環境変数
ミスティーネットPerl・CGI講座/基本編

ミスティーネットPerl・CGI講座/応用編
ミスティーネットPerl・CGI講座/応用編
カウンターを作ってみよう カウンターを
     作ってみよう!
ミニゲームを作ってみよう ミニゲームを
     作ってみよう!
ミスティーネットPerl・CGI講座/応用編

ミスティーネットPerl・CGI講座/WEB講座一覧
ミスティーネット
HTML講座 HTML講座
スタイルシート講座 スタイルシート講座
JavaScript講座 JavaScript講座
UNIXコマンド講座 UNIXコマンド講座

ミスティーネット
ラブラブメールでツーショット

人気サイトランキング

人気サイトランキング

8daysランキング

  HOME >> ハッシュの処理
  1. ハッシュ変数の使い方
  2. 要素の有無をチェック・要素の削除
  3. ハッシュのループ処理
■ ハッシュ変数の使い方
[ハッシュの作成]

○ ハッシュの値を一括で代入する場合。
%PERSONAL = (
     'name' => '田中太郎',
     'age' => '36',
     'blood' => 'A'
);

○ ハッシュキーごとに値を代入する場合。
$HASH{'くだもの'} => 'リンゴ';
$HASH{'やさい'} => 'キャベツ';


[ハッシュの結合]
ハッシュをリストのように代入することでハッシュを結合できます。

%HASH1 = (
     'fruit' => 'メロン',
     'vegetable' => 'キャベツ',
     'grain' => '米'
);
%HASH2 = (
     'drink' => '日本茶',
     'meet' => '牛肉',
     'dish' => '肉じゃが'
);
%FOOD = (%HASH1, %HASH2);      ← ハッシュを結合する

[ハッシュ結合 のイメージ]

%HASH1

+    
%HASH2
%FOOD





■ 要素の有無をチェック・要素の削除
[要素の有無をチェック]
  → exists 関数リファレンス

ハッシュの要素をチェックする際には、exists 関数を使います。
この関数は、指定したハッシュの要素が見つかったときには真を、見つからなかったときには偽の値を返します。
if 文を使って、要素が見つかったときと見つからなかったときの処理を分けることが出来ます。
exists $HASH{$key}

[要素の削除]
  → delete 関数リファレンス

ハッシュの要素を削除する場合は、delete 関数を使います。
この関数は、指定したハッシュの要素をハッシュ内から削除します。
delete $HASH{$key}

[特定のキーが見つかった場合に削除する]
$FOOD{'フルーツ'} => 'メロン';      ← ハッシュを設定する
$FOOD{'野菜'} => 'トマト';
$FOOD{'惣菜'} => '肉じゃが';

if ( exists $FOOD{'フルーツ'} ) {
    delete $FOOD{'フルーツ'};      ← $FOOD{'フルーツ'} があったときのみ削除する
}




■ ハッシュのループ処理
ハッシュをループ処理するにはいくつか方法がありますが、ここでは関数を使った3種類の方法をご紹介します。

[each 関数を使ったループ処理]
  → each 関数リファレンス

each 関数ではハッシュのキーと値のペアを取り出すことが出来ます。
下記では、while ループ文を使って、ハッシュのキーと値を順番に取り出して表示させています。
$FOOD{'フルーツ'} => 'メロン';      ← ハッシュを設定する
$FOOD{'野菜'} => 'トマト';
$FOOD{'惣菜'} => '肉じゃが';

while ( ($key, $value) = each(%FOOD) ) {      ← ハッシュのキーと値を取り出す
    print "$key => $value\n";      ← 取り出したキーと値を表示する
}


[keys 関数を使ったループ処理]
  → keys 関数リファレンス

keys 関数では、ハッシュのキーを取り出し、取り出したハッシュキーをリストとして返します。
下記では、リストとして返されるハッシュキーを foreach 文を使ってループさせています。
$FOOD{'フルーツ'} => 'メロン';      ← ハッシュを設定する
$FOOD{'野菜'} => 'トマト';
$FOOD{'惣菜'} => '肉じゃが';

foreach $key (keys %FOOD) {      ← ハッシュのキーを取り出す
    print "$key\n";      ← 取り出したキーを表示する
}


[values 関数を使ったループ処理]
  → values 関数リファレンス

value 関数では、ハッシュの値を取り出し、取り出したハッシュの値をリストとして返します。
下記では、リストとして返される値を foreach 文を使ってループさせています。
$FOOD{'フルーツ'} => 'メロン';      ← ハッシュを設定する
$FOOD{'野菜'} => 'トマト';
$FOOD{'惣菜'} => '肉じゃが';

foreach $value (values %FOOD) {      ← ハッシュの値を取り出す
    print "$value\n";      ← 取り出した値を表示する
}




← 前のページへ戻る 次のページへ →


| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問い合わせ | ミスティーネット |
(C)Copyright 2002 ミスティーネット Inc. All Right Reserved.