C,
Your idea is what I ended up deciding on. Like you figured, I did not want to duplicate the function that b.pl was providing in a.pl. I decided on making b.pl a module for this reason; the downside since I am compiling these into executables is that if I enhance or modify b.pl I will have to compile a.pl into a.exe again...
Thanks.