use strict; use warnings; use Net::Netrc; use Net::Rexec qw( rexec ); foreach my $host (qw( host1 host2 host3 )) { my $machine; unless ($machine = Net::Netrc->lookup ($host)) { warn "Machine $host not found in .netrc\n"; next; } my ($user, $password) = $machine->lpa; my ($rc, @out) = rexec ($host, "df -k", $user, $password); foreach my $df_line (@out) { # ... } }