2011-11-05 85 views
4

在Perl腳本中,我想提示用戶輸入併爲他提供可編輯的默認值。到目前爲止,我有這樣的:如何在提示用戶輸入時提供可編輯的默認值?

#!/usr/bin/perl 

print "what's your name? [John Doe]: "; 
$name = <STDIN>; 
chomp $name; 
if (!$name) 
{ 
    $name = "John Doe"; 
} 
print "hello $name.\n"; 

我正在尋找的是一個解決方案,我可以有「李四」上STDIN用戶開始打字之前就已經。所以它實際上是一個可編輯的默認輸入。例如。用戶可以按下退格鍵3x,然後鍵入「Wayne」以獲得「John Wayne」,而不是從一開始就鍵入整個字符串「John Wayne」。我試圖打印到STDIN,但那沒有奏效。

回答

5

你根據定義不能寫入標準輸入。你將不得不使用像Term::ReadLine::Gnu這樣的東西。

您正在查找的功能稱爲PREPUT,它是readline函數的第二個參數。

相關問題