in reply to Redefined subroutines in multiple libraries

I think this is usually resolved by abstracting the subroutines into modules. Is there a specific reason for not packing the subroutines into one or more library modules and calling them from the smaller script files? A work-around hack, which is really dodging the issue, would be to declare no warnings "redefine"; before the relevant script entries.

Unless I'm mistaken, won't this circular require result in, when called from libA.pl, libA.pl being run twice and libB.pl being run once? This implies to me that the scripts contain only a list of subroutines, further suggesting that modules are a good idea.