> > As what I've learnt, 'use' is working during the compile time,
> > where 'require' works at runtime, however, I have problem on
> > understand this..
> >
> > ### code ###
> > sub A
> > { my ($case) = shift;
> > if ($case == 0) { require "lib0.pl" ; use somePm; use
> > anotherPm ; &doSth(...) }
> > if ($case == 1) { require "lib1.pl" ; use somePm; use
> > anotherPm ; &doSthEls(...) }
> > if ($case == 2) { require "lib2.pl" ; use somePm; use
> > anotherPm ; &doSthAnotherEls(...)}
> > }
> >
> > sub B
> > { my ($case) = shift;
> > # something similar to A
> > }
> >
> > sub C
> > { my ($case) = shift;
> > # something similar to A
> > }
> >
> > ### EOF Code ###
> >
> > Say, if above is called by require, then I think it probrably
> > those inline reqire and use are calling when the sub is called
> > and when the case is matched... however, what about the
> > above finally becomes a .pm would those use, require will be
> > loaded once I use the above pm ?
> >
> > I do really concern about the loading of system... so which
> > is a better method for lower the loading ? I think exporter can
> > help to lower some loading, but how about those.... Sorry, I
> > don't know how to phrase the question... =), unless I have some
> > more clear concept on what is the real practise of runtime and
> > compile time...
>
> First of all, read:
>
> perldoc -q require
>
> For a detailed explanation of the differences.
First of all, please forgiving I am really poor in English, I've read
require, use and do for many many times, but I just can't understand
at all... What I can study from perldoc is only about the syntax,
or method, most of docs there I can't understand. = (
> Second, the run-time use of require would "generally" be used when
> there are multiple modules that can do the job, or there is some
> "optional" feature in your program that can be activiated if a
> given module is present. Consider the CPAN module. It will download
> tarballs using LWP if you have that installed. If not, it will try
> Net::FTP. (And if you don't have that it will try other things...)
Do you mean I rather use those existed modules, instead of writing my
own stuff ? and do something like use LWP::Lite instead of use LWP ?
> Of course, you should also avoid creating huge "do-everything" modules
> and break your modules up into logical groupings that allow you to
> avoid having to compile chunks of stuff you won't be using...
Do you mean I better do something like use strict qw(subs), instead of
use strict ? So can narrow down the loading, and targeting to only stuff
that I really need ?
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]