use Data::Dumper; # ... my @Events; while (1) { eval { my %event = SECRET_PACKAGE_NAME::WaitForEvent($timeout); push @Events, \%event; print LOG Dumper(\%event); }; last if $@; } print LOG "=======\n", Dumper(\@Events);