Я пытаюсь написать Perl-скрипт, который просит пользователя ввести MAC-адрес.Я использую модуль Net :: MAC для преобразования любого формата MAC-адреса, который вводит пользователь, в стандартный формат, который я буду использовать позже в сценарии.У меня большая часть работает, но я не могу понять, как справиться с ситуацией, когда они вводят недопустимый MAC.То, что не может быть MAC-адресом.Например, запись, которая содержит буквы, не являющиеся AF.
Я думаю, что-то вроде следующего должно работать, но когда оно умирает, оно просто уничтожает весь сценарий, а не повторно просит пользователя ввестиMAC снова.
use Net::MAC;
my $proceed = "no";
while ($proceed eq "no"){
print "Enter the MAC address: ";
my $mac;
$mac = <>;
chomp($mac);
my $tempMac = Net::MAC->new('mac' => $mac, 'die' => 0);
if ($tempMac->die() eq "0"){
print "Looks like you entered an invalid MAC address. Please try again.\n";
} else {
my $newMac = $tempMac->convert('base' => 16,'bit_group' => 8,'delimeter' => ":");
$proceed = "yes";
}
}
Следует ли вместо этого использовать что-то вроде оператора Try, Catch?Другими словами, мне нужно знать, как правильно обрабатывать событие die (), не вызывая сценария для меня.