<p>Is there a way I can access (for printout) a list of sub + module to arbitrary depth of sub-calls  preceding a current position in a Perl script?</p>

<p>I need to make changes to some Perl modules (.pm's). The workflow is initiated from a web-page thru a cgi-script, passing input through several modules/objects ending in the module where I need to use the data. Somewhere along the line the data got changed and I need to find out where.</p>

You can use
Devel::StackTrace
.
```
```
use Devel::StackTrace;
my $trace = Devel::StackTrace->new;
print $trace->as_string; # like carp
```
```
It behaves like Carp's trace, but you can get more control over the frames.
The one problem is that references are stringified and if a referenced value changes, you won't see it.  However, you could whip up some stuff with
PadWalker
to print out the full data (it would be huge, though).