in reply to Re^2: Killing processes
in thread Killing processes

I guess i might need to in case of typo?

Yes, exactly. But since you already have an array of valid PIDs, it might be a better idea to change the logic of the subroutine and present each PID to the user instead. Like this:

my @pids = ...; ... kill_processes(\@pids); ... sub kill_processes { my $pids = shift; for my $pid (@$pids) { print "Kill process $pid? ([y]es, [n]o, [q]uit)?\n"; my $ans = <>; last if $ans =~ /^Q/i; next unless $ans =~ /^Y/i; `kill $pid`; print "Process $pid killed\n"; } }

Using this approach there is no possibility of a user-input typo. And as a bonus, the loop logic is simpler.

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

Replies are listed 'Best First'.
Re^4: Killing processes
by deyaneria (Acolyte) on Mar 20, 2015 at 17:19 UTC
    Thanks you guys are amazing...I love the fact I can ask here when my teacher can't seem to understand the issue:)