package Foo; use warnings; use warnings::register; sub some_func{ warnings::warnif("some_func"); print "some_func() doesnt do much right now....\n"; } package main; no warnings; Foo::some_func(); use warnings; Foo::some_func(); __END__ some_func() doesnt do much right now.... some_func at C:\Temp\warnings.pl line 12 some_func() doesnt do much right now....