use Win32::API::Prototype; @Days = qw( Sun Mon Tue Wed Thu Fri Sat ); ApiLink( 'kernel32.dll', 'void GetLocalTime( LPSYSTEM lpSystemTime )' ) || die; $lpSystemTime = pack( "S8", 0,0,0,0,0,0,0,0 ); # This function does not return any value GetLocalTime( $lpSystemTime ); @Time{ year, month, dow, day, hour, min, sec, mil } = unpack( "S*", $lpSystemTime ); printf( "The time is: %d:%02d:%02d %s %04d.%02d.%02d\n", $Time{hour}, $Time{min}, $Time{sec}, $Days[$Time{dow}], $Time{year}, $Time{month}, $Time{day} );