The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!perl
use strict;
use warnings FATAL => 'all';
use Test::More;

use Dir::Self;
use lib __DIR__ . "/lib";

eval "use InvalidCase01;";
ok($@, "Got an error");

#TODO: {
#
#local $TODO = 'Devel::Declare and Eval::Closure have unresolved issues'
#    if Eval::Closure->VERSION > 0.06;

like($@,
     qr/^Global symbol "\$op" requires explicit package name .*?\bInvalidCase01.pm line 8\b/,
     "Sane error message for syntax error");

#}


{
  my $warnings = "";
  local $SIG{__WARN__} = sub { $warnings .= $_[0] };

  eval "use Redefined;";
  is($@, '', "No error");
  like($warnings, qr/^Subroutine meth1 redefined at .*?\bRedefined.pm line 9\b/,
       "Redefined method warning");
}

done_testing;