severity 521609 wishlist retitle 521609 disable obviously spurious 'used only once' warnings thanks
On Sun, Mar 29, 2009 at 10:42:31PM +0200, Vincent Lefevre wrote: > OK, I now understand. Then I think that the problem is in perl. > I suppose that lines such as > > require SomeModule; > > are seen at compile-time. IMHO, in such a case, perl should disable > all > > Name "%s::%s" used only once: possible typo > > warnings for the namespace SomeModule, as they can obviously be > spurious warnings. I suppose that would be doable, at least when requiring barewords. Digging into old discussions a bit, there's an argument that using fully qualified names for variables in other packages should not trigger the warning at all. http://markmail.org/message/ncocjtek43giv4dw > > use vars qw($Archive::Tar::WARN); > > This doesn't seem to be documented and may be annoying if there > are lots of variables. Also, if the module gets renamed and the > user modifies only the "require" line, this will defeat the purpose > of the warning. It's certainly documented, see 'perldoc vars'. But yes, possibly not the best way to solve this. > > no warnings 'once'; > > One doesn't necessarily want to disable all these warnings. Then put that in a block: #!/usr/bin/env perl use warnings; require Archive::Tar; { no warnings 'once'; $Archive::Tar::WARN = 0; } $Foo = 1; I think this would be my preferred solution. Downgrading this to wishlist, feel free to bring it up again on the perl5-porters list if you care enough. -- Niko Tyni [email protected] -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

