eval { $ua->request($request, \&callback, 4096) }; if ($@ =~ /^Request aborted/) { # handle aborted request } elsif ($@) { die; } sub callback { # ... die "Request aborted" if ...; # ... }