in reply to Selectively importing warnings
I think it works :)
$ perl import-into-warnings-notToolkit.pl f is not init but no warning Argument "A" isn't numeric in addition (+) at import-into-warnings-not +Toolkit.pl line 19. f is not a number and you're warned 0
So whatever the deal is with experimental::smartmatch it might be a bug :)
Here are all warnings forced for comparison
$ perl -W import-into-warnings-notToolkit.pl Use of uninitialized value $f in concatenation (.) or string at import +-into-warnings-notToolkit.pl line 17. f is not init but no warning Argument "A" isn't numeric in addition (+) at import-into-warnings-not +Toolkit.pl line 19. f is not a number and you're warned 0
the code
#!/usr/bin/perl -- BEGIN { package Fake; $INC{'Fake.pm'}=__FILE__; use Import::Into; sub import { my $target = caller; 'strict'->import::into($target); 'warnings'->import::into($target); 'warnings'->unimport::out_of($target, 'uninitialized'); } } package Snake; use Fake; my $f ; print "f is not init but no warning $f \n"; $f = 'A'; print "f is not a number @{[ 0 + $f ]}\n"; __END__
In Section
Seekers of Perl Wisdom