数値と文字列

スカラー変数が保持するもの

先に紹介したスカラー変数は, 数値, 文字列, そしてリファレンスと呼ばれる型の値を, 1つだけ保持することができます. ここでは, そのうちの数値と文字列について詳しく解説します. なお, リファレンスについては6章で詳しく紹介します.

数値

Perlでは, 123といった整数や, 3.14といった小数(浮動小数点数)を利用することができます. 次のコードは, スカラー変数$integerに整数123を, スカラー変数$decimalに小数3.14を, それぞれ代入しているコードです.

use strict;
use warnings;

my $integer = 123;  # 整数を代入
my $decimal = 3.14; # 小数を代入

また, 整数や小数の前に-を付与することで, 負の数を表すこともできます.

use strict;
use warnings;

my $integer = -123;  # 負の整数
my $decimal = -3.14; # 負の小数点

文字列

Perlにおける文字列には, 主に"によって表現するダブルクオート文字列と'によって表現するシングルクオート文字列が使い分けられます.

ダブルクオート文字列

ダブルクオート(")で囲まれた文字列はダブルクオート文字列になります. ダブルクオート文字列の特長は, 変数やバックスラッシュ(\)を利用した特殊な文字(エスケープシーケンス)を認識する点です.

例えば次のコードでは, print関数を利用して, hello, $name\nというダブルクオート文字列を表示しています. ここで, ダブルクオート文字列に含まれる$nameは, その直前で宣言されているスカラー変数$nameの内容が展開され, Shibuyaとなり, また最後の\nは改行を意味するエスケープシーケンスなので, 実際にはhello, Shibuyaと表示され, その末尾には改行が挿入されます.

use strict;
use warnings;

my $name = 'Shibuya';
print "hello, $name\n"; # => hello, Shibuya

シングルクオート文字列

一方, シングルクオート(')で囲まれた文字はシングルクオート文字列となり, 'で囲まれた文字列がそのまま出力されます. 次のコードでは, 'で囲まれた文字列$nameは展開されず, そのまま$nameとなり, また\nも改行とならず, こちらもそのまま\nで表示されます.

use strict;
use warnings;

my $name = 'Shibuya';
print 'hello, $name\n'; # => hello, $name\n

練習問題 2-2

あなたの名前やIDのアルファベット表記と今日の日付(2018-04-01など)を, それぞれスカラー変数に格納し, スカラー変数に格納した文字列をprint関数で出力するコードを書いてみましょう. 但し, ダブルクオート文字列を利用することによって, print関数の利用は一度だけに抑えてみましょう.

results matching ""

    No results matching ""