joinwith@打印错误的结果

我想知道如何@join接线员一起使用该标志;这会产生错误的结果:

my $string1  = '00aabb';
my $string2  = '02babe';
print join ("A",@ $string1, $string2);

即:

$ perl b.pl
02babe

那么,如何可以使用@join,将串联两个字符串,并用分离器加入他们A?我得出了join需要一个数组作为其第二个参数的假设,因此它应该以@. 仅仅

print join("A", $string1, $string2);

工作正常,但我想让它与@preceded 一起工作。

回答

join不需要数组作为其第二个参数;它需要一个列表(不同于数组):

加入 EXPR,LIST

您的第二个代码示例工作正常,因为第二个和第三个参数组成了 2 个项目的列表。join如果您已经有一个数组变量 ( @strings),则可以使用以下方法:

use warnings;
use strict;

my $string1  = '00aabb';
my $string2  = '02babe';

print join ("A", $string1, $string2);
print "n";

my @strings = ($string1, $string2);

print join ("A", @strings);
print "n";

印刷:

00aabbA02babe
00aabbA02babe

@符号是什么是用于表示一个数组变量。

另请参阅perldoc perldata。


请注意,如果您使用了strict,则会收到错误消息。


以上是joinwith@打印错误的结果的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>