-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