Perl`sech`删除两个字符而不是一个字符

时间:2014-11-04 18:47:41

标签: perl

我使用命令行将字符串传递给Perl程序。例如,这会将"stackOveflow"传递给程序hello

hello "stackOveflow"

我使用chop删除@ARGV

的最后一个元素中的最后一个字符
chop($ARGV[$#ARGV]);

然后打印

say "$ARGV[$#ARGV]";

我希望输出中有"stackOveflow,但我看到stackOveflo

有人可以告诉我为什么吗?

1 个答案:

答案 0 :(得分:1)

hello "stackOveflow"告诉shell执行程序hello并将字符串stackOveflow作为参数传递给它(类似于my $s = "stackOveflow";如何分配字符串{{1}在Perl中传递给stackOveflow

chop删除字符串的最后一个字符,因此值从$x更改为stackOveflow

stackOveflo