Chris Devers <mailto:[EMAIL PROTECTED]> wrote:

: : Ahem.  It is most useful when I want to determine the module to load
: : dynamically, or when I want to load a module only if necessary to
: : save the time spent compiling it in the cases when it is not needed.
: 
: :-)
: 
: I think that counts as an esoteric-enough requirement that beginners
: can safely ignore the need for it unless & until they hit that wall.
: 
: I'm assuming that most beginners won't be writing much or any code
: that needs to optimize loading a module multiple times...

    Dynamic loading does not apply just to multiple loading of a single
module. It could also be used to check the existence of a module before
loading it.

    An answer to the original question is incomplete without at least
a mention of the usefulness of 'require' under some intermediate to
advanced perl programming.


my $mail_module = load_mail_module();

warn q(No mail module) unless $mail_module;

sub load_mail_module {

    eval { require mail_foo };
    unless ( $@ ) {
        mail_foo::import();
        return 'mail_foo';
    }

    eval { require mail_bar };
    unless ( $@ ) {
        mail_bar::import();
        return 'mail_bar';
    }

    eval { require mail_baz };
    unless ( $@ ) {
        mail_baz::import();
        return 'mail_baz';
    }

    return;
}


     ... or to load modules only as needed.

print redirect( '/' );

sub user_data_form {

    require Data::FormValidator;
    Data::FormValidator::import();

    # ...
}

sub redirect {
    my $page = shift;

    require CGI;
    return CGI::redirect( $page );
}

__END__


HTH,

Charles K. Clarkson
-- 
Mobile Homes Specialist
254 968-8328







-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to