2013-07-17 31 views

Odpowiedz

14

Od perldoc perlvar:

Zmienne [email protected], $!, $^E i $? zawierające informacje o różnych typach warunków o błędach, które mogą pojawić się w trakcie realizacji programu Perl. Zmienne są uporządkowane według "odległości" pomiędzy podsystemem, który zgłosił błąd, a procesem Perla. Odpowiadają one błędom wykrytym przez interpreter Perla, bibliotekę C, system operacyjny lub program zewnętrzny.

3

$! jest ustawiany, gdy nie powiodło się wywołanie systemowe.

open my $fh, '<', '/foobarbaz' or die $! 

To spowoduje wyświetlenie "Brak takiego pliku lub katalogu".

[email protected] zawiera argument, który został przekazany do die. Dlatego:

eval { 
    open my $fh, '<', '/foobarbaz' or die $! 
}; 
if ([email protected]) { 
    warn "Caught exception: [email protected]"; 
} 

To nie ma sensu, by sprawdzić [email protected] bez użycia jakiejś formy eval a nie sens, aby sprawdzić $! kiedy nie nazwali funkcji, które można ustawić go w przypadku wystąpienia błędu.

Powiązane problemy