Hi.
This may be not a high enlightened answer but has solved me some time
looking for an answer to a question like yours:
my $IMAGE_SIZE=eval{require Image::Size};
...
if ($IMAGE_SIZE) {
### Some code
### Runs only if Image::Size is installed
}else{
### More code
### Runs if it's not installed
}
HTH
-rm-
----- Original Message -----
From: "perl.org" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, July 13, 2004 12:39 PM
Subject: use module only if it exists
> I want my code to call some subroutines in a custom module only if that
module
> exists on the system. I can think of at least three techniques to
determine
> if the module exists: scan @INC, use UNIVERSAL::can (not sure that would
> work), or put the code in an eval block. What is the best solution? I
think
> an eval block sounds right, but I'm not sure. My guess would look
something like:
>
> eval
> {
> use module;
> module::subroutine();
> };
>
> But the use statement of course throws a compiler error, so I think the
> appropriate thing is to put this code into a string and eval that. But
this
> code is going to get replicated to a large number of files and I want the
> shortest syntax possible, or if there is some better way...
>
> TIA,
>
> -John
>
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> <http://learn.perl.org/> <http://learn.perl.org/first-response>
>
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>