スカラー変数

スカラー変数には、1個のスカラー値を入れることができる。
スカラー変数の名前は、ドル記号の後ろに、Perl識別子*1
並べたもの。
大文字と小文字を区別する。

適切な変数名を選ぶ

変数名には、その用途がわかるような名前をつける。
$rよりも、$urlや$keywordなどの方がいい。

スカラーの代入

スカラー変数に値を代入するにはイコール記号を使う。

$hoge = 25;         # $hogeに25を代入
$hoge = $hoge + 10; # $hogeの値に10を足す

二項代入演算子

代入の両側に同じ変数があるような式は、二項代入演算子
使って、簡潔に書くことができる。
下の各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:英数字と下線を任意の個数並べたもの。ただし、先頭に数字は使えない