Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: disable functions if module not installed

by kyle (Abbot)
on Nov 03, 2008 at 21:47 UTC ( #721209=note: print w/replies, xml ) Need Help??

in reply to disable functions if module not installed

The second one gives you "error 500" because you left out the second quotation mark for the string eval. Also, I'm guessing you're doing this on a web server since Perl itself doesn't sprout error 500. If it's under mod_perl, I wonder if there is a scoping problem. Do you use strict and warnings?

  • Comment on Re: disable functions if module not installed

Replies are listed 'Best First'.
Re^2: disable functions if module not installed
by lepetitalbert (Monsignor) on Nov 03, 2008 at 22:28 UTC

    Hi kyle and chromatic,

    yes, on a web server, the quotation mark is a typo in the post and yes I use strict and warnings.

    while trying to write a minimal code it appears that even this doesn't work

    #!/usr/bin/perl -w use strict; use warnings; use diagnostics; my $is_Magick = 0; eval "require Image::Magick"; if ($@) { # problems with GD, fall back to non-GD } else { # we have GD, go for it! $is_Magick = 1; } print "Content-type: text/html; charset=ISO-8859-1\n\n"; print $is_Magick;

    without IM it prints 0, with IM, well :

    [Mon Nov 03 23:21:35 2008] [error] [client] Deep recursion o +n subroutine "Image::Magick::AUTOLOAD" at\r [Mon Nov 03 23:21:35 2008] [error] [client] \tC:/usr/site/li +b/Image/ line 42 (#1)\r [Mon Nov 03 23:21:35 2008] [error] [client] (W recursion +) This subroutine has called itself (directly or indirectly)\r [Mon Nov 03 23:21:35 2008] [error] [client] 100 times mo +re than it has returned. This probably indicates an\r [Mon Nov 03 23:21:35 2008] [error] [client] infinite rec +ursion, unless you're writing strange benchmark programs, in\r [Mon Nov 03 23:21:35 2008] [error] [client] which case i +t indicates something else.\r [Mon Nov 03 23:21:35 2008] [error] [client] \r [Mon Nov 03 23:21:35 2008] [error] [client] Out of memory!


    "There is only one good, namely knowledge, and only one evil, namely ignorance." Socrates

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://721209]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2017-01-19 00:38 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (166 votes). Check out past polls.