Fatal - replace functions with equivalents which succeed or die
use Fatal qw(open close);
sub juggle { . . . } import Fatal 'juggle';
The do-or-die equivalents are set up simply by calling Fatal's "import" routine, passing it the names of the functions to be replaced. You may wrap both user-defined functions and overridable CORE operators (except "exec", "system" which cannot be expressed via prototypes) in this way.
If the symbol ":void" appears in the import list, then functions named later in that import list raise an exception only when these are called in void context---that is, when their return values are ignored. For example
use Fatal qw/:void open close/;
# properly checked, so no exception raised on error if(open(FH, "< /bogotic") { warn "bogo file, dude: $!"; }
# not checked, so error raises an exception close FH;
prototype updates by Ilya Zakharevich [email protected]
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |