Ich habe folgende Perl-Code:Warum fängt Perls eval keine Probleme von Test :: Cmd :: Common-> unlink?
use strict;
use warnings;
use Test::Cmd::Common;
my $path = "/something/not/available";
my $test = Test::Cmd::Common->new(string => 'File system operations');
eval{
$test->unlink("$path");
};
ok([email protected], "file unlike");
print "done.\n";
Die Test- $> unlink() Linie und werfen Ausnahme fehlschlagen. aber das Problem: eval behandelt diese Ausnahme nicht und die Codeausführung wird unterbrochen.
die Ausgabe:
$ perl test.pl
could not unlink files (/something/not/available): No such file or directory
NO RESULT for test at line 561 of /home/y/lib/perl5/site_perl/5.8/Test/Cmd/Common.pm (Test::Cmd::Common::unlink)
from line 9 of test.pl.
Ist eval hier den richtigen Job zu tun? oder ich verstehe etwas falsch?
F.
Ungeprüfte, aber wie wäre es '* Test :: Cmd :: no_result = sub { sterben 'Kein Ergebnis'} '? – jrockway