http://qs321.pair.com?node_id=1062827


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__