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


in reply to Annoying warnings...

The other annoying warning is "Name ... used only once: possible typo. +..". For this I do this song-and-dance: $DB::single = $DB::single = 1;
There's no warning if the variable already exists, which seems correct to me. This does not warn.
use DB_File; # Just some global in DB_File. $DB_File::db_version = 42;
This does warn.
use DB_File; $DB_File::wibble = 42;
PS The warning happens at compile time so the variable has to exist at compile time. This means:
require DB_File; $DB_File::db_version = 42;
does warn.