use warnings; use strict; my @list = qw/ server1.net server2.net server3.net /; foreach my $server (@list) { command1($server); command2($server); } sub command1 { my $server = shift; print "command1 on $server\n"; system("command1")==0 or die "command1 \$?=$?"; } sub command2 { my $server = shift; print "command2 on $server\n"; system("command2")==0 or die "command2 \$?=$?"; }