Commit | Line | Data |
---|---|---|
3176feef | 1 | #!/usr/bin/perl |
2 | ||
3 | use strict; | |
f9d19a00 | 4 | use warnings; |
3176feef | 5 | |
6 | use Test::More; | |
7 | ||
8 | BEGIN { | |
8d2ee831 | 9 | plan skip_all => "Perl 5.10 required" unless eval { require 5.010; 1 }; |
c6d66f74 | 10 | plan tests => 5; |
3176feef | 11 | } |
12 | ||
01b96275 | 13 | use Try::Tiny; |
3176feef | 14 | |
15 | use 5.010; | |
f9d19a00 | 16 | no if $] >= 5.017011, warnings => 'experimental::smartmatch'; |
3176feef | 17 | |
18 | my ( $foo, $bar, $other ); | |
19 | ||
20 | $_ = "magic"; | |
21 | ||
22 | try { | |
8d2ee831 | 23 | die "foo"; |
3176feef | 24 | } catch { |
25 | ||
8d2ee831 | 26 | like( $_, qr/foo/ ); |
3176feef | 27 | |
8d2ee831 | 28 | when (/bar/) { $bar++ }; |
29 | when (/foo/) { $foo++ }; | |
30 | default { $other++ }; | |
3176feef | 31 | }; |
32 | ||
33 | is( $_, "magic", '$_ not clobbered' ); | |
34 | ||
35 | ok( !$bar, "bar didn't match" ); | |
36 | ok( $foo, "foo matched" ); | |
37 | ok( !$other, "fallback didn't match" ); |