my $start_time = time(); my @data; while (time() < $start_time + 10) { # try to populate @data here } if (!@data) { print "error!\n"; } else { print @data; }