use Win32::Process::Info; my $pi = Win32::Process::Info->new (); my %subs = $pi->Subprocesses(); my $ParentPID; foreach(keys %subs) { foreach my $pid(@{$subs{$_}}) { if( $pid == $$ ) { print "Parent PID is $_\n"; $ParentPID = $_; } } } my @info = $pi->GetProcInfo($ParentPID); use Data::Dumper; print Dumper \@info;