gpt4 book ai didi

perl - Perl `split`不能 `split`到默认数组

转载 作者:行者123 更新时间:2023-12-04 16:42:24 26 4
gpt4 key购买 nike

我对split有一个奇怪的问题,因为默认情况下它不会将split放入默认数组中。

以下是一些玩具代码。

#!/usr/bin/perl

$A="A:B:C:D";
split (":",$A);
print $_[0];

这不会打印任何内容。但是,如果我显式拆分为默认数组,例如
#!/usr/bin/perl

$A="A:B:C:D";
@_=split (":",$A);
print $_[0];

它可以正确打印A。我的perl版本是v5.22.1。

最佳答案

默认情况下, split 不会转到@_@_不能像$_一样工作。它仅用于函数的参数。 perlvar说:

Within a subroutine the array @_ contains the parameters passed to that subroutine. Inside a subroutine, @_ is the default array for the array operators pop and shift.



如果您使用 use strictuse warnings运行程序,则会看到

Useless use of split in void context at



但是,如果未提供任何内容,则 split确实将 $_用作其第二个参数(拆分后的字符串)。但是,您必须始终将返回值用于某些内容。

关于perl - Perl `split`不能 `split`到默认数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44153397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com