文字列変数の展開

ダブルクォートで囲まれた文字列中の変数が、スペースなどで区切られていれば変数として認識できるが、そうでない場合は認識できない場合がある。"${str}"のように'{'と'}'で区切ることで変数であると認識可能にできる。

変数展開時の変数名と文字列の区切り - 変数 - Perl入門

#!/usr/bin/perl

# 文字列変数
$str = "ABC"; # $strに"ABC"を格納.

# 文字列変数を含めた文字列の出力.
print "abc$strXYZ\n"; # 区切りなく文字列変数を展開させようとする.

これだと、

$ perl variable.pl
abc
$

"$strXYZ"という変数として認識してしまい、その変数が存在しないので、"abc"しか出力されない。

"${str}"とすると、

$ perl variable.pl
abcABCXYZ
$

$strもXYZも出力されている。

Sample/perl/variable/string_variable_expansion/src/variable at master · bg1bgst333/Sample · GitHub