Subject: | Noisy test under Perl 5.17.3: Unescaped left brace in regex is deprecated |
Test t/basic.t emits a warning under Perl 5.17.x:
Running make test
PERL_DL_NONLAZY=1 /usr/local/perl/5.17.3/bin/perl
"-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Unescaped left brace in regex is deprecated, passed through in regex;
marked by
<-- HERE in m/overloaded again.+eval { <-- HERE ...}/ at t/basic.t line 220.
t/basic.t ................. ok
This is because un-escaped literal '{' characters are deprecated in 5.17
and (presumably) future releases, because of the desire to use {} syntax
in future constructions.
I call this unimportant because the affected Perl is a development
version, and because the package itself is well-behaved.
The attached patch (against 1.32) fixes the problem.
Subject: | Exception-Class.patch |
--- t/basic.old 2010-06-28 10:58:45.000000000 -0400
+++ t/basic.t 2012-08-21 20:23:14.000000000 -0400
@@ -217,7 +217,7 @@
{
skip( "Perl 5.6.0 is broken. See README.", 1 ) if $] == 5.006;
- my $re = qr/overloaded again.+eval {...}/s;
+ my $re = qr/overloaded again.+eval \{...}/s;
my $x = "$@";
like(