in reply to get name of process with pid

Use Win32::Process:Info - here's some working code that I use in some production scripts, you can tailor it to do exactly what you want, but this should give you some ideas of the syntax.
use strict; use warnings; use Win32::Process::Info; Win32::Process::Info->Set (variant => 'WMI'); #Force to use WMI (quick +er) my $pi = Win32::Process::Info->new(); #Enumerate all the PIDs my $everest_process = undef; #For each PID, grab its name and look for everest processes for ( $pi->ListPids ) { my ($info) = $pi->GetProcInfo ($_); if ( $info->{Name} =~ /everest/gi ) { $everest_process = 1; } }