Bashの変数は代入時は$をつけず参照時に$がつくのに対して、Perlの変数名は常に頭に$がつきます。
Bash
takk@deb9:~/pl$ a=10 takk@deb9:~/pl$ echo $a 10 takk@deb9:~/pl$
Perl
takk@deb9:~/pl$ perl -e '$a=10;print"$a\n"' 10 takk@deb9:~/pl$
変数は数値でも文字列でも同じです。文字列の結合は .(ドット)でできます。
C言語風に、
$a = $a + 数値;
の場合、
$a += 数値;
に省略で、
$a = $a . 文字列;
の場合、
$a .= 文字列;
というように省略できます。
takk@deb9:~/pl$ perl -e '$a=10;$a += 10;$a .= " HELLO";print"$a\n"' 20 HELLO takk@deb9:~/pl$
ただし$がつくのはスカラー変数です。値が一つしか格納できません。
複数のスカラー値を格納するには、配列を使います。
配列は@から始まる変数名で表します。
takk@deb9:~/pl$ perl -e '@a=1..5;print "@a\n"' 1 2 3 4 5 takk@deb9:~/pl$
配列の各要素にアクセスするには、$変数名[インデックス]を指定します。
インデックスは0はじまりです。
takk@deb9:~/pl$ perl -e '@a=1..5;print"$a[4]\n";' 5 takk@deb9:~/pl$
コメント