P.117

@week = ("日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜"); @cuisine = ("カレー", "スパゲッティー", "ハンバーグ", "お寿司", "天麩羅", "すき焼き", "パエリヤ"); $week[0], $week[1], ・・・ , $week[6] $cuisine[0], $cuisine[1], ・・・ , $cuisine[6]
P.118 (1) 数値 / クオートは不要
@a = (1, 2, 3, 4, 5);
(2) 半角英文字 / ダブルクオートで囲む
@a = ("Red", "Green", "Blue");
(3) 半角英文字 / シングルクオートで囲む
@a = ('Cyan', 'Magenta', 'Yellow');
(4) 半角英文字 / クオートを省略
@a = (White, Black, Gray);
(5) 日本語文字 / クオートは省略不可
@a = ("赤", "緑", "青");
(6) 日本語文字 / クオートは省略不可
@a = ('青緑', '深紅', '黄');
(7) 悪い例 / クオートがないのでエラーとなる
@a = (白, 黒, グレー);
(8) 変数展開
$r = Red, $g = Green, $b = Blue; $c = Cyan, $m = Magenta, $y = Yellow; @a = ($r, $g, $b, $c, $m, $y); print "@a";
<実行結果> Red Green Blue Cyan Magenta Yellow
P.119 (1) ( ) による定義 / 要素のクオートは不要
@a = qw (Red 赤 Green 緑 Blue 青);
(2) 要素内のカンマ / 半角スペースのみが区切りとみなされる
@a = qw (Red,赤 Green,緑 Blue,青); for (@a) {print "$_ \n"}
<実行結果> Red,赤 Green,緑 Blue,青
P.120 (3) ( ) の2重クオート / ペアのかっこは文字列とみなされる
@a = qw (Red(赤) Green(緑) Blue(青)); for (@a) {print "$_ \n"}
<実行結果> Red(赤) Green(緑) Blue(青)
(4) / / の2重クオート / ペアでない区切りかっこは2重に使えない(エラー)
@a = qw /Red/赤/ Green/緑/ Blue/青//;
(5) { } による定義 / ペアのクオート内では ( ), < >, / は自由に使えます
@a = qw {Red(赤) Green<緑> Blue/青}; for (@a) {print "$_ \n"}
<実行結果> Red(赤) Green<緑> Blue/青
P.121 (1) 1〜10
@a = (1..10); print "@a";
<実行結果> 1 2 3 4 5 6 7 8 9 10
(2) 1101〜1103, 1201〜1203, 1301〜1303,
@a = (1101..1103, 1201..1203, 1301..1303); print "@a";
<実行結果> 1101 1102 1103 1201 1202 1203 1301 1302 1303
P.122 例:「配列内の要素」
@a = qw (日 月 火 水 木 金 土); print "$a[0] と $a[1]";
<実行結果> 日 と 月
例1:「1つずつの指定」
@a = qw (日 月 火 水 木 金 土); print "@a[1,3,5]";
<実行結果> 月 水 金
例2:「連続した指定」
@a = qw (日 月 火 水 木 金 土); print "@a[1..5]";
<実行結果> 月 火 水 木 金
P.123 (1) 2要素の交換 / (松 鶴 梅 竹 亀)
@omen = qw (松 竹 梅 鶴 亀); @omen[1,3] = @omen[3,1]; print "@omen";
<実行結果> 松 鶴 梅 竹 亀
(2) 配列内置換 / (梅 亀 竹 鶴 松)
@omen = qw (松 竹 梅 鶴 亀); @omen = @omen[2,4,1,3,0]; print "@omen";
<実行結果> 梅 亀 竹 鶴 松
(3) コピー / (鶴 亀 梅 鶴 亀)
@omen = qw (松 竹 梅 鶴 亀); @omen[0,1] = @omen[3,4]; print "@omen";
<実行結果> 鶴 亀 梅 鶴 亀
P.124 (4) 送り手が多い / (梅 竹 梅 鶴 亀)
@omen = qw (松 竹 梅 鶴 亀); @omen[0] = @omen[2,3,4]; print "@omen";
<実行結果> 梅 竹 梅 鶴 亀
(5) 受け手が多い / (亀 亀)
@omen = qw (松 竹 梅 鶴 亀); @omen[0..3] = @omen[4]; print "@omen";
<実行結果> 亀 亀
P.125 例1:「変数$ に代入」
@omen = qw (松 竹 梅 鶴 亀); $nx = @omen; print "$nx 個";
<実行結果> 5 個
例2:「数式の中での振る舞い」
@class_1 = (1..47); @class_2 = (1..49); @class_3 = (1..45); $nen1 = @class_1 + @class_2 + @class_3 - 2; print "1学年は $nen1 人です。";
<実行結果> 1学年は 139 人です。
例3:「"." を用いた個数表示」
@class_1 = (1..47); print "1組:", @class_1. " 人";
<実行結果> 1組:47 人
P.126 例1:「要素の先詰め」
@omen = qw (松 竹 梅 鶴 亀); @omen = ("七福神", @omen); print "@omen";
<実行結果> 七福神 松 竹 梅 鶴 亀
例2:「要素の後詰め」
@omen = (@omen, "七福神"); # (1) $omen[5] = "七福神"; # (2) @omen [@omen +1] = "七福神"; # (3)
P.127 例1:「配列の先詰め」
@omen = qw (松 竹 梅 鶴 亀); @the_Seven = qw (大黒天 恵比寿 毘沙門天 弁財天 福禄寿 寿老人 布袋); @omen = (@the_Seven, @omen ); print "@omen";
<実行結果> 大黒天 恵比寿 毘沙門天 弁財天 福禄寿 寿老人 布袋 松 竹 梅 鶴 亀
例2:「配列の後詰め」
@omen = qw (松 竹 梅 鶴 亀); @the_Seven = qw (大黒天 恵比寿 毘沙門天 弁財天 福禄寿 寿老人 布袋); @omen = (@omen, @the_Seven ); print "@omen";
<実行結果> 松 竹 梅 鶴 亀 大黒天 恵比寿 毘沙門天 弁財天 福禄寿 寿老人 布袋