簡體   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