-2
我的Perl腳本只是將您提供的任何輸入作爲輸入,並且我希望通過檢查輸入字符串的模式使其更健壯。我的輸入字符串必須採用格式xxxxx-xxxx-xxxx
。我如何檢查?如何檢查Perl腳本的鍵盤輸入格式?
我的Perl腳本只是將您提供的任何輸入作爲輸入,並且我希望通過檢查輸入字符串的模式使其更健壯。我的輸入字符串必須採用格式xxxxx-xxxx-xxxx
。我如何檢查?如何檢查Perl腳本的鍵盤輸入格式?
$foo =~ /^.{5}-.{4}-.{4}\z/s
例如,它會反覆詢問值,直到獲得有效值。
my $foo;
while (1) {
print("Please provide foo (xxxxx-xxxx-xxxx): ");
my $foo = <STDIN>;
die("EOF\n") if !defined($foo);
chomp($foo);
last if $foo =~ /^.{5}-.{4}-.{4}\z/s;
print("Invalid input\n");
}
請給解釋添加解釋 – Saifur 2015-02-24 22:38:09
你確實可以使用正則表達式。你有什麼嘗試?如果您正在尋找一種通用的操作方法,您可能需要閱讀http://perldoc.perl.org/perlintro.html#Regular-expressions – Oesor 2015-02-24 19:05:39
上的介紹文檔的正則表達式部分,例如? '退出,除非$ input =〜/^xxxxx-xxxx-xxxx $ /;' – jm666 2015-02-24 19:17:25
根據你對輸入做什麼,有時候「試圖使用它」也是一種很好的驗證形式。例如。看看文件是否存在並且可讀。等等。 – Sobrique 2015-02-24 19:23:39