use strict; use warnings; use feature 'say'; use Proc::ProcessTable; my $t = Proc::ProcessTable->new; foreach my $p (@{$t->table}) { next unless $p->cmndline =~ m{/Applications/iTerm.app/Contents/MacOS/iTerm2}; say sprintf('%s : %s : %s', @{ $p }{qw/uid pid cmndline/}); }