我使用命令行将字符串传递给Perl程序。例如,这会将"stackOveflow"
传递给程序hello
hello "stackOveflow"
我使用chop
删除@ARGV
chop($ARGV[$#ARGV]);
然后打印
say "$ARGV[$#ARGV]";
我希望输出中有"stackOveflow
,但我看到stackOveflo
有人可以告诉我为什么吗?
答案 0 :(得分:1)
hello "stackOveflow"
告诉shell执行程序hello
并将字符串stackOveflow
作为参数传递给它(类似于my $s = "stackOveflow";
如何分配字符串{{1}在Perl中传递给stackOveflow
。
chop
删除字符串的最后一个字符,因此值从$x
更改为stackOveflow
。
stackOveflo