功能 join() Perl

在Perl编程语言都有一个内置的功能 join(). 使用这一功能,可以将多个数值在一串。

这里有一个例子:

▶ Run
#!/usr/bin/perl

my $str = join('<>', 'a', 'b', 'c');
print $str;

该程序将显示该文本 a<>b<>c.

参数

my $str1 = join($separator, $value1, $value2);
my $str2 = join($separator, @arr);
my $str3 = join($separator, @arr1, @arr2);

标准的使用 join() 是要给她的两个或多个参数。 第一价值,这是传递给功能是串的分裂。 功能 join() 返回串在所有价值观开始 第二个连接在一起,和他们之间是分离器。 例(程序 将 a:b:c:d):

▶ Run
#!/usr/bin/perl

print join(':', 'a', 'b', 'c', 'd');

在事件后的数值分离器是唯一一个值,然后 结果是一串,其中包括只将第二值。 例(程序将显示 a):

▶ Run
#!/usr/bin/perl

print join(':', 'a');

值的分割可能是一个或更多的角色和可能是空的 行 ''. 如果使用空串的第一个价值, 该功能的结果是串联的价值观。 例(结果的 程序 ABC):

▶ Run
#!/usr/bin/perl

print join('', 'A', 'B', 'C');

如果功能 join() 没有通过任何论点,它将错误:

Not enough arguments for join or string at script.pl line 3, near "join()"
Execution of script.pl aborted due to compilation errors.

如果传输功能 join() 个参数,结果将是 总是一个空串 ''. 如果你通过 undef 作为唯一的 论点,那么结果将是一个空串,但包括 use warnings, 在STDERR你会收到一个警告:

Use of uninitialized value in join or string at script.pl line 5.

回值

该功能的结果 join() 总是一串。

甚至如果你使用 join() 的数字,结果仍是一串,不是数字。 如果你写 join(1, 22, 33),结果将是一个串 '22133',而不是数量 22133. 但很难想象这样一种情况,你曾到 join() 返回的数量 不一串。 但在的情况下Perl有可能使用的字符串在所有的数学作业。 解更多关于 如何Perl转换串号码.

相关的主题

官方文件

这里是输出的命令 perldoc -f join:

       join EXPR,LIST
               Joins the separate strings of LIST into a single string with
               fields separated by the value of EXPR, and returns that new
               string.  Example:

                   $rec = join(':', $login,$passwd,$uid,$gid,$gcos,$home,$shell);

               Beware that unlike "split", "join" doesn't take a pattern as
               its first argument.  Compare "split".

其他文章