$ cat trap_exit.t use warnings; use strict; use Test::More tests => 3; use Test::Trap; ok(require('test_exit.pl'), 'loaded'); trap{ killer() }; $trap->die_like( qr/hasta la vista baby/, q{Expected killer to die} ); trap{ exiter() }; $trap->exit_is( 42, q{Expected exiter to exit} ); #### $ prove -v test_exit.t test_exit....1..3 ok 1 - loaded ok 2 - Expected killer to die ok 3 - Expected exiter to exit ok All tests successful. Files=1, Tests=3, 0 wallclock secs ( 0.09 cusr + 0.00 csys = 0.09 CPU)