NAME
Filesys::Type - Portable way of determining the type of a file system.
SYNOPSIS
use Filesys::Type qw(fstype);
...
my $fs = '/mnt/hda7';
warn "Not able to share with Windows"
if (fstype($fs) ne 'vfat');
DESCRIPTION
This module provides a portable interface, either to Unix mount -n or to Win32::filesys or to another native OS interface.
The module is pluggable, which will allow for other operating systems to be added in future without needing to change the core module.
fstype
This exportable function takes a string, which is a file or directory path, and returns the file system type, e.g. vfat, ntfs, ext2, etc. Note that the exact string returned is operating system dependent.
case
This is another exportable function that returns the case sensitivity of a file system. It either takes a file system type as returned by fstype, or a path as input. It returns one of the following:
sensitive
-
like Unix ext2, ext3, etc.
lower
-
VMS ODS-2 filenames are case insensitive. System services return the names in upper case, but the CRTL which provides globbing and the command line interface turns to lower case.
insensitive
-
This is the behaviour of Windows file systems, FAT16, FAT32 and NTFS. The file names are case insensitive, i.e. foo, Foo and FOO refer to the same file, but the initial case of the letters of the file name is preserved from the time it was created.
diagnose
Use this to determine what went wrong if fstype returned undef. Returns a string suitable for printing in a log or on stderr.
SECURITY
Note that some platforms use backtick shell commands to derive information about the file systems. Be careful that a rogue user could execute operating system commands by injecting into the path.
It is recommended only to pass in untainted strings. See perldoc perlsec for details of running in taint mode, and for a description of how to untaint a string passed in from outside.
BUGS
Please report bugs to http://rt.cpan.org. Post to bug-filesys-type@rt.cpan.org
HISTORY
0.01 Sun Jun 12 2005 - original version; created by ExtUtils::ModuleMaker 0.32
0.02 Fri Jul 08 2005 - Change plugins to be OO. Add diagnostic facility to see more about failing tests on some platforms.
AUTHOR
I. Williams
ivorw@cpan.org
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.