#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use lib 't/try/lib';
use 5.014;
BEGIN {
if (!eval { require Try::Tiny }) {
plan skip_all => "This test requires Try::Tiny";
}
}
no if $] >= 5.018, warnings => 'experimental::smartmatch';
use Try;
my ( $error, $topic );
given ("foo") {
when (qr/./) {
try {
die "blah\n";
} catch {
$topic = $_;
$error = $_[0];
}
pass("syntax ok");
};
}
is( $error, "blah\n", "error caught" );
{
local $TODO = "perhaps a workaround can be found"
if $] < 5.018;
is( $topic, $error, 'error is also in $_' );
}
done_testing;