perl数组如何工作$"

oro*_*i01 3 arrays perl

我对这段代码的结果感到困惑.

my @lines;
for (my $count = 0; $count < 3; $count++) {

    print "Give me input again ";
    chomp (my $line = <STDIN>);
    $lines[$count] = $line;
}

$" = "|";
print "@lines\n";
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,这是如何 $" = "|";工作的?结果是一|二|三.代码如何工作以便它放置"|" 每次输入之间?

ike*_*ami 8

它只是将数组插入到双引号字符串中.

"$foo\n"
Run Code Online (Sandbox Code Playgroud)

是完全相同的

$foo . "\n"
Run Code Online (Sandbox Code Playgroud)

"@lines\n"
Run Code Online (Sandbox Code Playgroud)

是完全相同的

join($", @lines) . "\n"
Run Code Online (Sandbox Code Playgroud)

这在perldataperlvar中有记录.