Hier ein Beispielskript, das die Laufwerkskennbuchstaben auflistet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use strict;
use warnings;
use Win32::API;
my $function = Win32::API->new( 'kernel32', 'GetLogicalDriveStringsA', 'NP', 'N' );
my $drivestr = ' 'x1024;
my $ret = $function->Call( 1024, $drivestr );
print "'$_'\n" for split "\0", substr( $drivestr, 0, $ret );
<STDIN>;
__END__
In $ret steht die Anzahl an Bytes, die benötigt wurden um die Laufwerkskennbuchstaben abzuspeichern und in $drivestr stehen alle Laufwerkskennbuchstaben mit \0 separiert.
MfG
perl -E'*==*",s;;%ENV=~m,..$,,$&+42;e,$==f;$"++for+ab..an;@"=qw,u t,,print+chr;sub f{split}say"@{=} me"'