The code runs and accesses the web properly, but I have the following development problems:

1. I can set breakpoints in webTest.pl and they work fine from Eclipse/Epic. 2. I can set breakpoints in GetWeb.pm, but they are ignored by Eclipse/Epic. 3. When I added the subtest.pl file which merely prints ďHelloĒ, I get the following error: . . . . a. Undefined subroutine &main::subtest called at C:/p4/WebTests/webTest.pl line 29.

Any help on how to set up my development environment would my appreciated.

You are right. I just wanted to quickly give the minimal amount of changes to have it work the way the OP wanted, but clearly, it does not change much to do it the best way from the outset. Especially, my naming of the package was sloppy and I should have used CamelCase.

As for the export, I used @EXPORT rather than @EXPORT_OK because this module only has one subroutine for the time being, so there is no point of using it if you don't intend to import this subroutine. But you are right, I usually use rather the @EXPORT_OK array, except sometimes for functions that MUST always be used if the module is going to be used. For example, I wrote a module that absolutely needs to be called with the init function the first time the module is used (init_connexion makes the connexion to the database, opens a transaction, does a couple of other small things and returns a connexion id and an error buffer number). I only export systematically init_connexion, which will be needed in all cases, all the other functions that may or may not be useful in the user's program are in the @EXPORT_OK array.

I am not using Eclipse, I do not know. It could be that you have to be stepping in the module to be able to set a breakpoint in it. Or try to set a breakpoint on the subroutine name (at least that's what you can do under the Perl debugger: b subname), the program should stopo at the first line of the subroutine;

This forum is used to post and answer questions, so, since I think I figured this one out myself, let me post what is possibly the answer:

I had to move the PM file from the shared directory into the same directory as the PL file I was debugging. It now stops at the breakpoints I set in the PM file, but still does not stop at the breakpoints I set in the secondary PL file.

Am I right in assuming that the Epic debugger only recognizes only the executed PL file and only PM files that exist in the local directory?

What do you guys use for a debugger? The Eclipse / Epic combo lets you set breakpoints, and when you get to one of them, if you have loaded the PadWalker option, you can then examine all of the variable as they exist at that point.

Still new to Perl, so not sure what else is available for debugging.

I made my previous post to let others know the solution that worked for me.