Akihiro's Programmer Blog

Technology Notes for Personal

「初めてのPerl」 第二章 - 2

第二章。続きから。



第二章 スカラーデータ

用語集

スカラー変数 スカラー値を1つ格納できる変数。
シジル 変数の先頭に付ける記号。$、@、%がある。

追記(2014/4/14):サブルーチンのシジル"&"を忘れてた。




Point


$var = "abc";    #スカラー変数は$シジル


  • ダブルクォート内で変数展開出来る。
$var = "abc";

"$var"    #"abc"と同義

"$vardef"    #"abcdef"にはならない

"${var}def"    #こういう時はブレースで囲む


  • 演算の順番は演算子の優先順位と結合によって決まる。
5 + 5 * 5    #*の方が優先順位が高いから答えは30

4 ** 3 ** 2    #優先順位は同じ。**(乗算)は右結合だから4 ** 9になる

#詳しくはperlopドキュメントで


  • 数値比較と文字列比較の違い。
#等しい
$var1 == $var2    #数値
$var1 eq $var2    #文字列

#等しくない
$var1 != $var2    #数値
$var1 ne $var2    #文字列

#より小さい
$var1 < $var2     #数値
$var1 lt $var2    #文字列

#より大きい
$var1 > $var2     #数値
$var1 gt $var2    #文字列

#より小さいか等しい
$var1 <= $var2    #数値
$var1 le $var2    #文字列

#より大きいか等しい
$var1 >= $var2    #数値
$var1 ge $var2    #文字列


  • if、while制御構造はブレース囲み必須。
#ブレース囲みは必ず
if ( $bool ) { ... }

#これはダメ
if ( $bool ) ...


  • スカラー変数には最初に未定義値(undef)が入っている。
$var    #中身はundef

$var + 1    #数値で扱うと0扱い

$var . "abc"    #文字列で扱うと空文字列扱い




次回は

次回は第三章から。