in reply to returner / opposite of caller

general answer: have a look at the -D switch in perlrun , IIRC it can be used to log all call frames.

Otherwise: it really depends on the structure of your tests, maybe it helps to have only one centralized exit point which is called via a sub xreturn() which replaces your old return .

something like: (untested)

my @data; sub xreturn { @data = @_; push @data, [(caller)]; goto CENTRAL_EXIT; } CENTRAL_EXIT: return @data;

HTH! :)

Cheers Rolf

(addicted to the Perl Programming Language and ☆☆☆☆ :)