diff options
Diffstat (limited to 'examples/next-in-loop/Error.pm-eval.pl')
-rw-r--r-- | examples/next-in-loop/Error.pm-eval.pl | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/examples/next-in-loop/Error.pm-eval.pl b/examples/next-in-loop/Error.pm-eval.pl new file mode 100644 index 0000000..87c67f7 --- /dev/null +++ b/examples/next-in-loop/Error.pm-eval.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Error qw(:try); +use Scalar::Util qw(blessed); + +use IO::Handle; + +package MyError; + +use base 'Error'; + +package SecondError; + +use base 'Error'; + +package main; + +autoflush STDOUT 1; + +SHLOMIF_FOREACH: +foreach my $i (1 .. 100) +{ + eval + { + if ($i % 10 == 0) + { + throw MyError; + } + }; + my $E = $@; + if (blessed($E) && $E->isa('MyError')) + { + next SHLOMIF_FOREACH; + } + print "$i\n"; +} + |