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>


Reply via email to