in reply to problem when using two modules with same subroutine

Try adding the actual module name to the function call since you are importing both subroutines into the same namespace (the main namespace). Something like the following should do the trick.

use strict; use warnings; use File::Compare; use String::Compare; # tmp.pl and tmp.pl.other are copies of the same file print File::Compare::compare("tmp.pl", "tmp.pl.other"). "\n"; print String::Compare::compare("foo", "boo"). "\n"; output: 1 0.6