P.76
例1:「クオートなしの出力」

print 123456;
<実行結果> 123456
print (10+20+30+40+50)/5;
<実行結果> 30
$a = "こんにちは!"; print $a;
こんにちは!
例2:「ダブル・クオート内での変数展開」
$weather = "晴れ"; print "今日の天気は、$weatherです。";
<実行結果> 今日の天気は、晴れです。
P.77 例3:「シングル・クオートによる変数の非展開」
print '天気は $weather という変数で定義します。';
<実行結果> 天気は $weather という変数で定義します。
例4:「汎用クオート式による " " の出力」
print qq /明日は、"晴れ"となるでしょう。/;
<実行結果> 明日は、"晴れ"となるでしょう。
例:「文字列の改行」
print "今日はよいお天気です。 しかし、 明日からは雨になりそうです。";
<実行結果> 今日はよいお天気です。 しかし、 明日からは雨になりそうです。
P.78 例1:「複数の値の同時出力」
$nen = 1, $kumi = 2, $num = 17, $name = "前橋友香"; print $nen, " 年 ", $kumi, " 組 ", ++$num, " 番:", $name;
<実行結果> 1 年 2 組 18 番:前橋友香
P.79 例2:「ループの中での同時出力」
$nen = 1, $kumi = 1; @name = ("青山霞", "小川橙", "白瀬藍", "滄海澪"); for $na (@name)   {print "$nen 年 $kumi 組 ", ++$num, " 番: $na \n"}
<実行結果> 1 年 1 組 1 番: 青山霞 1 年 1 組 2 番: 小川橙 1 年 1 組 3 番: 白瀬藍 1 年 1 組 4 番: 滄海澪
P.80 例1:「and 区切り」
$a = "X = 1"; $b = "Y = 2"; $, = " and "; print $a, $b;
<実行結果> X = 1 and Y = 2
P.81 例2:「と 区切り」
@a = ("桃", "栗", "柿"); $" = " と "; print "@a";
<実行結果> 桃 と 栗 と 柿
P.81 例3:「+ と = 区切り」
@a = (1..10); $sum = 55; $" = " + "; $, = " = "; print "@a", $sum;
<実行結果> 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
P.82 例1:「\n による改行」
print "行きに 40km/h 帰りに 60km/hとすると、\n平均時速は何 km/h ?";
<実行結果> 行きに 40km/h 帰りに 60km/hとすると、 平均時速は何 km/h ?
例2:「改行とタブ」
print " <<百五減算>>\n\n「彼の年は、3, 5, 7 で割ると、それぞれ 1, 2, 3 余り ます。」\n\n 「彼の年を当ててください。」\n\nこれは、\n\n \t (1x70)+(2x21) +(3x15) = 157 \n\n から 105 を引いた 52 が答えになります。";
<実行結果> <<百五減算>> 「彼の年は、3, 5, 7 で割ると、それぞれ 1, 2, 3 余ります。 「彼の年を当ててください。」 これは、 (1x70)+(2x21)+(3x15) = 157 から 105 を引いた 52 が答えになります。
P.83 例3:「英文字の大文字小文字」
$world = "egypt", $city = "cairo"; print "$world の首都は $city \n"; print "\u$world の首都は \u$city \n"; print "\U$world の首都は $city ";
<実行結果> egypt の首都は cairo Egypt の首都は Cairo EGYPT の首都は CAIRO
P.84 例4:「ビープ音」
print "\a 違います!";
<実行結果> (ピーッと鳴って)違います!
例:「各種装飾罫線の作成と表示」
print "-"x 40, "\n"; print "*" x40, "\n"; print "* " x 20, "\n"; print "= " x 20, "\n"; print "-=" x 20, "\n"; print "+=" x 20, "\n"; print "∞" x 20, "\n"; print "==/" x 13, "\n"; print "⌒" x 20, "\n"; print "★☆" x 10, "\n"; print "■□" x 10, "\n"; print "☆ ", "……‥‥・☆ " x 3, "\n"; print "・゜★・。・。☆・。" x 2, "\n"; print ":*~*:._." x 5, "\n"; print "★彡☆彡" x 5, "\n"; print "★ミ☆ミ" x 5, "\n";
<実行結果> ---------------------------------------- **************************************** * * * * * * * * * * * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ==/==/==/==/==/==/==/==/==/==/==/==/==/ ⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒ ■□■□■□■□■□■□■□■□■□■□ ☆ ……‥‥・☆ ……‥‥・☆ ……‥‥・☆ ・゜★・。・。☆・。・゜★・。・。☆・。 :*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._. ★彡☆彡★彡☆彡★彡☆彡★彡☆彡★彡☆彡 ★ミ☆ミ★ミ☆ミ★ミ☆ミ★ミ☆ミ★ミ☆ミ
P.86 例1:「文章形式の出力」
print <<EOF; ≪試験の答えは何?≫ 彼は今、5問からなる○×式の問題に取り組んでいる。しかし、この日彼が唯一 分かったのは2番だけで(これはあっている)他の問題は全く分からなかった。 しかし、彼はこの先生の問題を出す "くせ" を知っていたので、この2番の答 が決め手となって、この日彼は全部正しい答えを埋めることができた。 2番の答えも含めて、この日の問題の答えは何であったか。 「先生の問題のくせ」 1.×よりも○の方が多い。 2.同じ答えは3つ続かない。 3.最初と最後の答えは逆になる。(1番が○なら、5番は×といった具合) EOF
<実行結果> ≪試験の答えは何?≫ 彼は今、5問からなる○×式の問題に取り組んでいる。しかし、この日彼が唯一 分かったのは2番だけで(これはあっている)他の問題は全く分からなかった。 しかし、彼はこの先生の問題を出す "くせ" を知っていたので、この2番の答 が決め手となって、この日彼は全部正しい答えを埋めることができた。 2番の答えも含めて、この日の問題の答えは何であったか。 「先生の問題のくせ」 1.×よりも○の方が多い。 2.同じ答えは3つ続かない。 3.最初と最後の答えは逆になる。(1番が○なら、5番は×といった具合)
P.87 例2:「複数の値の同時出力」
$color = "赤"; print <<EOF 正解を次の中から選んでください。 1.赤2.青3.黄 EOF ,"答え:", $color;
<実行結果> 正解を次の中から選んでください。 1.赤2.青3.黄 答え:赤
$color = "赤"; print "正解を次の中から選んでください。\n 1.赤2.青3.黄\n\n", "答え:", $color;
P.88 例3:「"文字絵" を入れた文章」
print <<EOF; υ・・υ (=●=)はじめてのメールです。 ┌──∪┐ │\★/│よろしくね.. └───┘ EOF
<実行結果> υ・・υ (=●=)はじめてのメールです。 ┌──∪┐ │\★/│よろしくね.. └───┘
P.89 例:「星空の作成」
print <<EOF x 3;  .  *   *  ☆   .     *    。 ☆    .    .    *         *   。   。 ☆ . *  。   .  .☆    ・   .     。      *   *    * ☆ .
<実行結果>  .  *   *  ☆   .     *    。 ☆    .    .    *         *   。   。 ☆ . *  。   .  .☆    ・   .     。      *   *    * ☆ .  .  *   *  ☆   .     *    。 ☆    .    .    *         *   。   。 ☆ . *  。   .  .☆    ・   .     。      *   *    * ☆ .  .  *   *  ☆   .     *    。 ☆    .    .    *         *   。   。 ☆ . *  。   .  .☆    ・   .     。      *   *    * ☆ .
P.91 例1:「通常の出力」
$c1 = "深紅", $c2 = "赤", $c3 = "すみれ"; print "1番目:$c1 色。\n"; print "2番目:$c2 色。\n"; print "3番目:$c3 色。";
<実行結果> 1番目:深紅 色。 2番目:赤 色。 3番目:すみれ 色。
例2:「6文字分の確保」
$c1 = "深紅", $c2 = "赤", $c3 = "すみれ"; printf "1番目:%6s 色をした花。\n", $c1; printf "2番目:%6s 色をした花。\n", $c2; printf "3番目:%6s 色をした花。", $c3;
<実行結果>
1番目:深紅 色をした花。 2番目:赤 色をした花。 3番目:すみれ 色をした花。
P.92 例3:「6文字分の確保 + 左詰め」
$c1 = "深紅", $c2 = "赤", $c3 = "すみれ"; printf "1番目:%-6s 色をした花。\n", $c1; printf "2番目:%-6s 色をした花。\n", $c2; printf "3番目:%-6s 色をした花。", $c3;
<実行結果> 1番目:深紅 色をした花。 2番目:赤 色をした花。 3番目:すみれ 色をした花。
例1:「2つの値に対する書式設定」
$c11 = Magenta, $c12 = "深紅", $c21 = Red, $c22 = "赤"; $c31 = Violet,$c32 = "すみれ"; printf " %-7s は %-6s 色 です。\n", $c11, $c12; printf " %-7s は %-6s 色 です。\n", $c21, $c22; printf " %-7s は %-6s 色 です。\n", $c31, $c32;
<実行結果> Magenta は 深紅 色 です。 Red は 赤 色 です。 Violetは すみれ 色 です。
P.93 例1:「円周率πの値」
$pi = 3.141_592_653_589_793_238; printf "π = %.3f", $pi;
<実行結果> π = 3.142
例2:「円周率πの値(数値幅確保)」
$pi = 3.141_592_653_589_793_238; printf "π = %10.3f", $pi;
<実行結果> π = 3.142
P.94 例1:「小数の表示」
$a = 567/999; print "標準:$a \n"; printf "コンパクト:%g \n\n", $a; $a = 567/0.00999; print "標準:$a \n"; printf "コンパクト:%g \n\n", $a; $a = (567/999)*10**16; print "標準:$a \n"; printf "コンパクト:%g", $a;
<実行結果> 標準:0.567567567567568 コンパクト:0.567568 標準:56756.7567567568 コンパクト:56756.8 標準:5.67567567567568e+015 コンパクト:5.67568e+015
P.95 例2:「整数の表示」
$a = 2**19; print "標準:$a \n"; printf "コンパクト:%g \n\n", $a; $a = 2**20; print "標準:$a \n"; printf "コンパクト:%g \n\n", $a;
<実行結果> 標準:524288 コンパクト:524288 標準:1048576 コンパクト:1.04858e+006
例:「その他のフォーマット・コード一覧」
$a = 1100/3; $b = -2300/3; $c = 2**48; print "《標準》\n a = $a \n b = $b \n c = $c \n\n"; print "《各種設定》\n"; printf " a = % .2f :正数空白空け \n", $a; printf " b = %.2f :少数部分 2 桁 \n", $b; printf " a = +%.2f :符号つき正数 2 桁 \n", $a; printf " a = %d :整数化(切り捨て) \n", $a; printf " a = %6d :整数化 6 桁 \n", $a; printf " b = %6d :整数化 6 桁 \n", $b; printf " a = %06d:整数化 6 桁 0 詰め \n", $a; printf " b = %06d:整数化 6 桁 0 詰め \n", $b; printf " c = %.2e :指数表記 2 桁 \n", $c;
<実行結果> 《標準》 a = 366.666666666667 b = -766.666666666667 c = 281474976710656 《各種設定》 a =366.67 :正数空白空け b = -766.67 :少数部分 2 桁 a = +366.67 :符号つき正数 2 桁 a = 366 :整数化(切り捨て) a =366 :整数化 6 桁 b = -766 :整数化 6 桁 a = 000366:整数化 6 桁 0 詰め b = -00766:整数化 6 桁 0 詰め c = 2.81e+014 :指数表記 2 桁
P.96 例:「合計と平均」
$a = 75, $b = 83, $c = 39; $sum = $a + $b + $c; $ave = $sum / 3; $avef = sprintf "%.1f", $ave; print "合計:$sum \n平均:$avef";
<実行結果> 合計:197 平均:65.7