in reply to Need help in accessing subroutines in perl scripts in perl modules.
This post is a verbatim copy of my answer from StackOverflow, with the example slurped from one of my comments.
require happens at runtime, so in this code:
my @IP=getIP(); require "/tmp/utils/Log.pl"; require "/tmp/utils/Utili.pl";
getIP() has not yet been loaded from the "Utili.pl" file, so it's looking in its own scope for that sub. Move things around so that the subs get loaded before you call them:
require "/tmp/utils/Log.pl"; require "/tmp/utils/Utili.pl"; my @IP=getIP();
Here's an example. require returns 1 on success:
perl -E 'say 5; say require Data::Dumper' 5 1
update: Correction: as choroba points out below, require returns whatever comes last in the module on first pass, then just returns 1 on subsequent calls.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Need help in accessing subroutines in perl scripts in perl modules.
by choroba (Cardinal) on Jun 17, 2016 at 12:57 UTC | |
by stevieb (Canon) on Jun 17, 2016 at 13:00 UTC | |
by srikanthp1 (Initiate) on Jun 19, 2016 at 08:13 UTC |