Win32::StrictFileNames - Enable case sensitive filenames checking.
In Windows, the directories and files names are case-insensitive. That can be bothersome, for example, if one develops a cgi script that must also turn under an *nix machine: it is necessary to verify the case of all the filenames and paths carefully. There is also the typos in the modules names: for instance, if you type in a script
use tk; instead of
use Tk; you obtain a bunch of error messages unrelated with the typo.
With this module, if the name of a file doesn't match (in a case-sensitive manner) the one of the system, a diagnostic message is printed (or the function that uses this filename fails).
It's the default behaviour of the module. For instance, with this script:
#!/usr/bin/perl -w use strict; use Win32::StrictFileNames; use tk; # <-- there is a typo here my $mw = MainWindow->new(); MainLoop();
we obtain the error message:
Can't locate tk.pm in @INC ...etc
and the compilation is aborted as usual.
warn option, the compilation is not aborted but a detailed diagnostic message is issued.
#!/usr/bin/perl -w use strict; use Win32::StrictFileNames 'warn'; use tk; # <-- there is a typo here my $mw = MainWindow->new(); MainLoop();
gives the warning message:
Warning: case sensitive mismatch between File =C:\perl\site\lib\tk.pm Long =C:\perl\site\lib\Tk.pm Short=C:\perl\site\lib\Tk.pm at C:\tmp\test.pl line 4.
File is the pathname of the file to load,
Long is the longpathname (composed of longname components) and
Short is the shortpathname (composed only of short (8.3) path components).
None currently known.
Caution: this module has not been tested intensively ;-)
Jean-Louis Morel, <email@example.com>
Copyright (C) 2006 by Jean-Louis Morel.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.