Jean-Louis Morel > Win32-StrictFileNames-0.01 > Win32::StrictFileNames

Download:
Win32-StrictFileNames-0.01.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.01   Source  

NAME ^

Win32::StrictFileNames - Enable case sensitive filenames checking.

SYNOPSIS ^

  use Win32::StrictFileNames;

DESCRIPTION ^

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).

Strict checking

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.

Warnings

With the 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).

EXPORT

Nothing.

SEE ALSO ^

Home page: http://www.bribes.org/perl/wstrictfilenames.html

BUGS ^

None currently known.

Caution: this module has not been tested intensively ;-)

AUTHOR ^

Jean-Louis Morel, <jl_morel@bribes.org>

COPYRIGHT AND LICENSE ^

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.

syntax highlighting: