http://qs321.pair.com?node_id=721230


in reply to Re: disable functions if module not installed
in thread disable functions if module not installed

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

Thanks.

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