#!/usr/bin/env perl use strict; use warnings; use threads; sub worker_sub { die "Ups!\n"; } my $worker = async { eval { worker_sub }; $@ }; my $error = $worker->join(); if ($error) { print "The worker thread produced an error: $error"; } else { print "The worker thread completed successfully\n"; }