http://qs321.pair.com?node_id=272980


in reply to Changing Modules in Bad Code

I think it would be better to do the 1. but to make it easy you might install Devel::TraceSubs and add something like:

use Devel::TraceSubs; open my $_LOG, ">> $0-Postgres.log"; my $_dbg = Devel::TraceSubs->new( verbose => 0, pre => '', post => '<', level => '', params => 0, logger => sub { my ($package, $filename, $line, $subroutine, $hasargs, $wantarray, $evaltext, $is_require, $hints, $bitmask) = call +er(1); return if $_[2] eq '<' or $filename =~ m{Postgres.pm$}; print $_LOG "Called $_[5] in $filename at $line\n"; }, ); $_dbg->trace( 'Postgres::' );
on top of the scripts and run them. It should create a report with all the places where you call the Postgres.pm's functions/methods. Of course you may need to run the scripts several times to make sure all branches are covered, but still this should help in preparing the list of places you need you change.

HTH, Jenda
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
   -- Rick Osborne

Edit by castaway: Closed small tag in signature