#!/usr/bin/perl -l use Win32::OLE('in'); my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\.\\root\\cimv2") or die "WMI connection failed.\n"; $colItems = $objWMIService->ExecQuery("Select * from Win32_Battery","WQL",0x30); print "$_->{DeviceID} ($_->{Description}): $_->{EstimatedChargeRemaining}%" for in $colItems;