@Drives = Win32::AdminMisc::GetDrives(); foreach $Drive (sort(@Drives)){ $Type = Win32::AdminMisc::GetDriveType($Drive); ($Total, $Free) = Win32::AdminMisc::GetDriveSpace($Drive); if ($Type == DRIVE_FIXED){ $Type = "hard drive"; }elsif ($Type == DRIVE_REMOVALBE){ $Type = "removable (floppy) drive"; }elsif ($Type == DRIVE_REMOTE){ $Type = "network drive"; }elsif ($Type == DRIVE_CDROM){ $Type = "CDROM drive"; }elsif ($Type == DRIVE_RAMDISK){ $Type = "RAM disk"; }else{ $Type = "disk type $Type"; } print "The $Drive is a $Type and has a size of $Total bytes with $Free bytes available.\n"; }