我的行为怪异chomp
。在<STDIN>
增加了换行符的投入,我想删除它,所以我使用格格像下面这样:
print("Enter Your Name:\n");
$n = <STDIN>;
$n = chomp($n);
print("Your Name: $n");
$out = "";
for ($i =0; $i < 10; $i++)
{
$out .= $n;
print ($out);
print("\n");
}
当我输入任何名称值(字符串),例如“ Fox”时,我期望输出如下:
Fox
FoxFox
FoxFoxFox
FoxFoxFoxFox
etc..
但是,“ Fox”将替换为数值,1
即
1
11
111
1111
我试图从perl的官方手册中获得有关排骨的帮助,但是我在那里找不到任何帮助。有人会解释为什么chomp会这样吗?如何解决这个问题?
我再次查看了书中的示例,发现它们使用了chomp
witout分配,即:
$n = chomp($n);
# Is replaced by
chomp($n);
通过这种方式,确实可以按预期打印脚本!我也不知道如何以及为什么?
从perldoc上获取:
它返回从其所有参数中删除的字符总数
您正在将$ n设置为chomp($ n)的返回值:
$ n = chomp($ n);
做你想做的,你可以简单地 chomp($n)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句