#! perl -slw use strict; use Win32::API::Prototype; ApiLink( 'DiscIdCalcDLL', q[ int GetCdRomDrives( LPVOID p ) ], ) or die $^E; my $struc = chr(0) x ( 4 + 1036*3 ); GetCdRomDrives( $struc ) or die $^E; print "'$_'" for unpack 'v( VVV (a256)4 )3', $struc; __END__ c:\test>DiskId.pl '0' '0' '0' '0' ' ' ' ' '0' '0' '0' ' ' ' ' '0' '0' '0' ' ' ' '