in reply to Re^2: Using Multiple Modules
in thread Using Multiple Modules

How does the .pm export its subroutines? If it uses Exporter, you need to run
require CodesModule; 'CodesModule'->import;

Or you might even need to name the subroutines as the import's parameters if the module doesn't use @EXPORT but @EXPORT_OK.

Update: if you switched to

use CodesModule;

you need to name the subs for @EXPORT_OK in this way:

use CodesModule qw{ func1 func2 };
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

Replies are listed 'Best First'.
Re^4: Using Multiple Modules
by hmeharward (Novice) on Jan 22, 2016 at 18:21 UTC

    Thank you so much for your help. In my code I use .pm this way:

     use runner_libs::CodesModule qw(exit_gracefully subprogram_runner warning_or_failure open_or_fail error_display cal_time start_time end_time trim CheckError);

    And the .pm exports this way:

    package CodesModule; use Exporter 'import'; @EXPORT_OK = qw(exit_gracefully subprogram_runner warning_or_failure o +pen_or_fail error_display cal_time start_time end_time trim CheckErro +r);
      What's runner_libs::CodesModule? Make sure the package name is the same in the use statement, in the package declaration, and that it corresponds to the path to the .pm file in one of the libs, as shown above.
      ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,