$VAR1which is meant to denote the variable being dumped. You can supply a name to it, but it's cumbersome and non-intuitive.
pp) instead of the name-clashing
use Data::Dump qw/pp/; pp $my_complex_data; # this gets printed to STDERRBut in any other context (i.e. when it's return value is used) it will just return the dump as a string and skip the output:
use Data::Dump qw/pp/; $c->log->debug("Stash: " . pp $c->stash );