$接收者正在返回1.
print "Who is receiving this message?:";
my $receiver = chomp(my $r = <STDIN>);
print $receiver;
另外,我在哪里可以找到更多关于chomp的文档?谢谢。
答案 0 :(得分:8)
chomp
返回从其参数列表中每个字符串末尾删除的输入记录分隔符(在$/
中)中的任何字符。应该使用它:
chomp(my $reciever = <STDIN>);
chomp
可用于数组和列表,我认为这是此功能的原因:
my $count = chomp(@array);
chomp
的文档位于perldoc -f chomp
答案 1 :(得分:3)
它返回从其所有参数中删除的字符总数。
请参阅http://perldoc.perl.org/functions/chomp.html
相反,您可能需要chomp(my $receiver = <STDIN>);
答案 2 :(得分:2)
因为chomp
返回从其参数中删除的换行符的数量。有关详细信息,请查看perldoc -f chomp
。
您可能想要的是chomp(my $receiver = <STDIN>);
答案 3 :(得分:1)
因为你错了。
use Modern::Perl;
my $receiver;
chomp($receiver = <STDIN>);
say "Result: " . $receiver;'
更多信息:
perldoc -f chomp
答案 4 :(得分:0)
Chomp执行“就地”删除并返回删除的字符数。
这是错误的:
my $var = <STDIN>;
my $result = chomp ($var); ### here, $result will have '1' and not the chomped string of <STDIN>
这是正确的:
my $var = <STDIN>;
chomp ($var);