我试图从用户处收集一个ip,并进行一些基本的错误检查并窃取了不必要的空白,但是我遇到了一些问题,我以为我是正则表达式。
my $serverIP;
print "Enter vSphere server's IP\n";
while(<>){
$serverIP = $_;
print "DEBUG <$serverIP>\n";
if (/$serverIP = (\d+\.\d+\.\d+\.\d+)/){
print "Match found $1\n";
$serverIP = $1;
last;
}
else{
print "Not an IP\n";
print "Please enter a valid IP\n";
}
}
print "I found $serverIP!\n";
我知道正则表达式很简单,但与1.1.1.1不匹配,因为我认为它应该
最佳答案
更改:
if (/$serverIP = (\d+\.\d+\.\d+\.\d+)/){
至:
if ($serverIP =~ /(\d+\.\d+\.\d+\.\d+)/){