/usr/local/CPAN/Filesys-Type/Filesys/Type/Plugin/Windows.pm
package Filesys::Type::Plugin::Windows;
use strict;
our $VERSION = 0.02;
sub new {
my $pkg = shift;
return undef unless $^O =~ /win/i;
eval {
require Win32;
require Cwd;
require File::Spec;
};
return undef if $@;
bless {}, $pkg;
}
our ($dest,$err);
sub fstype {
my ($self,$path) = @_;
my $cur = Cwd::cwd;
eval {
my ($vol,$dir,$file) = File::Spec->splitpath($path);
$dest = File::Spec->catpath($vol,$dir);
};
($err = $@) && return undef;
chdir $dest or return undef;
my $fstype = Win32::FsType();
chdir $cur;
$fstype;
}
sub diagnose {
$err . "\nWorking directory: ".$dest;
}
1;