The other annoying warning is "Name ... used only once: possible typo...". For this I do this song-and-dance: $DB::single = $DB::single = 1; #### use DB_File; # Just some global in DB_File. $DB_File::db_version = 42; #### use DB_File; $DB_File::wibble = 42; #### require DB_File; $DB_File::db_version = 42;