#!/usr/bin/perl -w use strict; use warnings; use Data::Dumper; use IO::Handle; my @servers = qw/server1 server2 server3/; chomp @servers; my @kids = (); for my $host (@servers) { if (my $pid = fork) { push @kids,$pid; } else { die "Cannot fork: $!\n" unless defined $pid; my $cmd = q{/usr/bin/ssh } . $host . q{ /bin/date 2>/dev/null}; my $result = qx{$cmd}; chomp $result; print "$host $result\n"; exit; } } for (@kids) { waitpid($_,0); }