TWクラブ【BloodyRosary】@6.変数
Perlではスカラーと呼ばれる基本的なデータ型がある。
| $ | スカラー型 | 数値や文字列を1つだけ代入できる |
| @ | リスト型 | スカラーに順番をつけて並べたもの |
| % | ハッシュ型 | 連想配列とも呼ばれ、「キー」と「値」を1組のペアとして関連付けされた配列 |
・スカラー型の例
$x = 1;
$x という変数に数値の 1 が代入される
$y = "テスト\n";
「テスト」 という文字と、改行コードが代入される
$y = 'テスト\n';
「テスト\n」 という文字が代入される(\nが改行という意味にならず、そのまま代入される)
$z = "テスト\"です\"";
「テスト"です"」 という文字が代入される("を代入するには、手前に\を入れる
'で囲った場合についても、手前に\を入れれば代入できる)
$z = "テスト'です'";
「テスト'です'」 という文字が代入される("で囲った中では、'は普通に代入できる。逆もOK
$a = $b;
$aに$bの中身を代入する
$a += $b;
$a + $b を $a に代入する
$a++;
$aのオートインクリメントを行う(オートデクリメントも可能 → $a--)
・リスト型の例
@x = (1, 2, 3);
@x に 1, 2, 3 をこの順序で代入 文字の場合、"a","b","c"等で代入 変数も代入可能
・配列の中の各要素は、$配列名 [ 添え字 ] という形式で表す
@fruit = ("apple", "orange", "banana");
↓ これと同じ動作で、各要素に入れていく例
$fruit[0] = "apple";
$fruit[1] = "orange";
$fruit[2] = "banana";
・配列の個数は、左辺のスカラー変数に代入できる
@fruit = ("apple", "orange", "banana");
$num = @fruit;
例では、$num には 3 と代入される
・配列関数
| push | 配列の末尾へ要素を追加 |
| pop | 配列の末尾の要素を削除 |
| unshift | 配列の先頭へ要素を追加 |
| shift | 配列の先頭の要素を削除 |
| reverse | 配列の順序を逆順にする |
| sort | 配列の順序をソートする |
例
@char = ("A", "B", "C");
push(@char, "D");
print "@char\n";
<出力結果>
A B C D
配列の要素数取得
例
@hoge = (100, 110, 120);
$num = $#hoge;
最後の添字を取得(この場合は2。配列が空の場合は-1
$num = @hoge;
要素数を取得(この場合は3。配列が空の場合は0)
そのほかは以下URL参照
http://www.kent-web.com/perl/chap3.html
・ハッシュ型の例
%fruit = ("red", "apple", "yellow", "banana");
%fruit に red と apple 及び yellow と banana という文字列をそれぞれのペアで代入
↓ 同じ動作
%fruit = (
"red" => "apple",
"yellow" => "banana",
);
・ハッシュ変数の中の各要素(各ペア)は、$ハッシュ変数名 { キー } という形式で、
それに対応する「値」を参照することができる
%fruit = ("red", "apple", "yellow", "banana", "purple", "grape");
↓
$fruit{"red"} = "apple";
$fruit{"yellow"} = "banana";
$fruit{"purple"} = "grape";
・ハッシュ変数の各要素には、「キー」を指定することで「値」にアクセスできる
%fruit = ("red", "apple", "yellow", "banana", "purple", "grape");
print "$fruit{'red'}\n";
<出力結果>
apple
・ハッシュ関数
| keys | すべてのキーを取り出す |
| values | すべての値を取り出す |
| each | 1組のキーと値を取り出す |
| delete | 特定の要素を取り除く |
例
%fruit = ("red", "apple", "yellow", "banana", "purple", "grape");
@file = keys (%fruit);
print "@file\n";
<出力結果>
purple yellow red
そのほかは以下URL参照
http://www.kent-web.com/perl/chap4.html
Perl目次に戻る
別館TOPに戻る
ブログに戻る

Presents by 【BloodyRosary】
Copyrights (C) NEXON Corporation and NEXON Co., Ltd.
All Rights Reserved.