Здравствуйте.
Недавно начал осваивать perl.
Для снятия данных с локального сервера использую такой код
use warnings FATAL => 'all';
use strict;
#!perl
use Win32::OLE;
my $fs = Win32::OLE->CreateObject('Scripting.FileSystemObject');
my $d = $fs->GetDrive('c:');
print $d->{TotalSize}, " total\n";
print $d->{FreeSpace}, " free\n";
print $d->{AvailableSpace}, " available\n";
print $d->{TotalSize} - $d->{FreeSpace}, " used\n";
также нашел еще такой вариант
#!/usr/local/bin/perl
use Win32::DriveInfo;
use strict;
use warnings;
print "OS Information\n";
my $computer=Win32::NodeName();
print "The computer name is $computer\n";
my %dtypes=(0 => "Undertmined",
1 => "Does Not Exist",
2 => "Removable",
3 => "Hardrive",
4 => "Network",
5 => "CDROM",
6 => "RAM Disk");
print "Drive Information\n";
my @drives = Win32::DriveInfo::DrivesInUse();
foreach my $drive (@drives){
my $type=Win32::DriveInfo::DriveType($drive);
print "Drive $drive is a $dtypes{$type}\n";
if (($drive eq 'C') | ($drive eq 'H')) {
my ($sectors, $bytessec, $freeclust, $clustnum, $userfree, $total, $totalfree)=Win32::DriveInfo::DriveSpace($drive);
#divide bytes to get gigabytes;
my $gbtotal = sprintf("%.2f", ($total/1073741824));
my $gbfree = sprintf("%.2f", ($totalfree/1073741824));
my $gbused = sprintf("%.1f", ($gbtotal - $gbfree));
my $free = $gbfree/$gbtotal;
my $perfree = sprintf("%.2f", ($free * 100));
#Print output
printf "$gbfree GB free from total of $gbtotal GB\n";
printf "total GB used $gbused\n";
printf "$perfree%% free on drive $drive\n";
printf "\n";
}
else {}
}
exit;
Прошу подсказать как их модифицировать, чтобы появилась возможность ввести имя удаленного сервера + его имя и пароль.