in reply to Re^17: Try::Tiny and -E (False Negative)
in thread Try::Tiny and -E
use strict; use warnings; # selfcontained simulation of feature pragma package my_feature; use Carp; sub import { my $pkg = (caller)[0]; if ( grep {$_ eq "try"} @_ ) { for my $func (qw/try catch finally/) { carp "Warning: ${pkg}::$func() will be shadowed by feature 'tr +y'" if exists &{"${pkg}::$func"}; } } } 1; BEGIN { $INC{"my_feature.pm"} = "DEMO from " . __FILE__ } # end simulation package Foo; use Try::Tiny; use my_feature "try";
-->perl /home/lanx/perl/pm/check_stash_sub.pl Warning: Foo::try() will be shadowed by feature 'try' at /home/lanx/pe +rl/pm/check_stash_sub.pl line 23. Warning: Foo::catch() will be shadowed by feature 'try' at /home/lanx/ +perl/pm/check_stash_sub.pl line 23. Warning: Foo::finally() will be shadowed by feature 'try' at /home/lan +x/perl/pm/check_stash_sub.pl line 23.
NB: The warnings are emitted before any code following the use feature is compiled.
Cheers Rolf
(addicted to the Perl Programming Language :)
see Wikisyntax for the Monastery
|
|---|