スカラー変数
スカラー変数には、1個のスカラー値を入れることができる。
スカラー変数の名前は、ドル記号の後ろに、Perl識別子*1を
並べたもの。
大文字と小文字を区別する。
適切な変数名を選ぶ
変数名には、その用途がわかるような名前をつける。
$rよりも、$urlや$keywordなどの方がいい。
二項代入演算子
代入の両側に同じ変数があるような式は、二項代入演算子を
使って、簡潔に書くことができる。
下の各2行は、全て等価。
$hoge = $hoge + 10; $hoge += 10; $hoge = $hoge ** 5; $hoge **= 5; $hoge = $hoge . "sage"; $hoge .= "sage"
変数に代入するというより、変数の値を加工するという感じ。
スカラー変数を文字列の中に展開する
ダブルクォート文字列リテラルの中に変数名があると、
その部分が、変数の値で置きかえられる。
#!/usr/bin/perl -w $name = "Fred"; print "He is $name." . "\n"; print 'He is $name." . "\n";
He is Fred. He is $name.
ダブルクォート文字列の中に、ドル記号をいれるには、
ドル記号の前に逆スラッシュを置く。
変数名の後ろに英数字や下線があると、Perlはその部分も
含めて変数名だと解釈してしまう。
なので、そういう場合は、変数名をブレースで囲む。
#!/usr/bin/perl $what = "steak"; print "I had two $whats.\n"; print "I had two ${waht}s.\n";
I had two . I had two steaks.
$wahtsには何も入っていないので、当然、何も表示されない。
ちなみに、-wオプションを指定していると、$whatsは1回しか
使われていない、と警告が出される。
*1:英数字と下線を任意の個数並べたもの。ただし、先頭に数字は使えない