Как проверить, что значение cidr является действительным или нет - PullRequest
0 голосов
/ 17 июня 2019

Я читаю значения CIDR из текстового файла, после чтения списка значений CIDR.Я должен проверить значение CIDR, независимо от того, является ли оно действительным или нет.Как я могу проверить правильность значения CIDR или нет.Например, когда я пытаюсь использовать значение CIDR 148.64.0.0/224 на следующем веб-сайте (т. Е. https://www.ipaddressguide.com/cidr), оно отображается как «Неверный формат CIDR». Не могли бы вы предоставить пример кода фрагмента на языке Perl для проверки значения CIDR?

Я пытался проверить на сайте whois, но это не сработало.

1 Ответ

1 голос
/ 19 июня 2019

Вы можете использовать https://metacpan.org/pod/Net::Works::Network для этого.Если сеть недействительна, будет выдано исключение.Вы можете перехватить исключение и затем решить, как вы хотите его обработать.

#!/usr/bin/env perl

use strict;
use warnings;

use Net::Works::Network ();
use Try::Catch qw( catch try );

my $network;
try {
    $network
        = Net::Works::Network->new_from_string( string => '148.64.0.0/224' );
}
catch {
    print "Not a valid network: $_\n";
};

# ... maybe do something with $network here
...