3

ユーザーから 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 とは一致しないはずです。

4

1 に答える 1

10

変化する:

  if (/$serverIP = (\d+\.\d+\.\d+\.\d+)/){

に:

  if ($serverIP =~ /(\d+\.\d+\.\d+\.\d+)/){
于 2013-07-03T17:55:55.447 に答える