diff options
Diffstat (limited to 'vms/ext/Stdio/Stdio.pm')
-rw-r--r-- | vms/ext/Stdio/Stdio.pm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/vms/ext/Stdio/Stdio.pm b/vms/ext/Stdio/Stdio.pm index 275081329c..af71f0bb9e 100644 --- a/vms/ext/Stdio/Stdio.pm +++ b/vms/ext/Stdio/Stdio.pm @@ -32,13 +32,15 @@ sub AUTOLOAD { if ($constname =~ /^O_/) { my($val) = constant($constname); defined $val or croak("Unknown VMS::Stdio constant $constname"); - *$AUTOLOAD = sub { $val }; } else { # We don't know about it; hand off to IO::File require IO::File; my($obj) = shift(@_); - $obj->IO::File::$constname(@_); + + my($val) = eval "\$obj->IO::File::$constname(@_)"; + croak "Error autoloading $constname: $@" if $@; } + *$AUTOLOAD = sub { $val }; goto &$AUTOLOAD; } |