繁体   English   中英

Perl Chomp将字符串转换为数值

[英]Perl chomp convert string into numerical values

我因chomp感到奇怪。 <STDIN>将尾随换行符添加到输入中,并且我想删除它,因此我使用如下所示的chomp:

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 Assign即:

$n = chomp($n);
# Is replaced by
chomp($n); 

确实,通过这种方式,脚本可以按预期方式打印输出! 我也不知道如何以及为什么?

从关于chomp的perldoc:

它返回从其所有参数中删除的字符总数

您正在将$ n设置为chomp($ n)的返回值:

$ n = chomp($ n);

做你想做的,你可以简单地chomp($n)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM