1

変数の値 (たとえば、コマンド ライン オプションで修正) をリスト セパレータとして使用して、その値を特殊文字 (改行、集計など) にできるようにしたいと考えています。

残念ながら、次の 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 によって生成されたもの) を取得できるアイデアはありますか?

4

1 に答える 1