Perlの変数は、$(ダラー)で始まります。またJavaScriptと同じように、明確な型宣言がありません。代入された値によって、数値にも文字列にもなります。
$buffer1 = 100; #数値。このまま計算に使用できます
$buffer2 = "文字"; #文字列
$buffer1 = $buffer1 + 2500; # 100 + 2500 で2600となります
$buffer2 .= "だよぅ"; #"文字" + "だよぅ" = "文字だよぅ"
つぎに、print 文から出力する HTML 文書で、変数を使用してみます。
$image_url = "http://xxxxxx/~user/images/img1.gif";
print "<IMG SRC=\"$image_url\">\n";
を実行したとき、出力される結果は
<IMG SRC="http://xxxxxx/~user/images/img1.gif">
となります。ところで、上記のスクリプトで、「\"」記述があります。文字列内で「"」などの特殊記号を使用する場合、頭に「\」記号
を付けなければなりません(メタ文字)。
では、上記の例を使用して・・・
$image_url = "http://xxxxxx/~user/images/";
print "<IMG SRC=\"$image_urlimg1.gif\">\n";
変数名と文字列がつながり、変数名が判断できなくなってしまいます。こういった場合、
$image_url = "http://xxxxxx/~user/images/";
print "<IMG SRC=\"${image_url}img1.gif\">\n";
変数名を{ }で囲むことで、問題を回避することができます。
ハッシュは配列のキーと値を1組にした配列で、配列のインデックスに文字列を使用することができます。
ハッシュは%(パーセント)で始まります。
%list = (); # 配列を初期化
%list = ("key1", 0, "key2", 1, "key3", 2); # キーと値をセット
ハッシュの値を呼び出すには、$配列名 { キー } とします。
$key1 = $list{"key1"}; # $key1 は 0
$key2 = $list{"key2"}; # $key2 は 1
$key3 = $list{"key3"}; # $key3 は 2
ハッシュの操作
■ すべてのキーを取り出す
連想配列内のキーを取得するには、keys関数を使用します。
@keys_list = keys %list;
# 'key1', 'key2', 'key3'が配列にセットされる(順序はランダム)
■ すべてのリストを取り出す
連想配列内の値を取得するには、values関数を使用します。
@values_list = values %list;
# 0, 1, 2が配列にセットされる(順序はランダム)
■ キーとリストを取り出す