変数の値 (たとえば、コマンド ライン オプションで修正) をリスト セパレータとして使用して、その値を特殊文字 (改行、集計など) にできるようにしたいと考えています。
残念ながら、次の 2 つの print ステートメントの動作が異なるため、素朴なアプローチは機能しません。
my @tab = ("a","b","c");
# block 1 gives expected result:
# a
# b
# c
{
local $" = "\n"; #" let us please the color syntax engine
print "@tab";
}
# block 2 gives unwanted result:
# a\nb\nc
{
use Getopt::Long;
my $s;
GetOptions('separator=s' => \$s);
local $" = "$s"; #" let us please the color syntax engine
print "@tab";
}
ブロック 2 を修正して、必要な結果 (ブロック 1 によって生成されたもの) を取得できるアイデアはありますか?