maard has asked for the wisdom of the Perl Monks concerning the following question:

This code:
open F, TMP_GIF_FNAME; my $im = GD::Image->newFromGif( F ); close F;
dies with this message: Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/site_perl/5.8.6/i386-freebsd/GD/Image.pm line 193.

In GD/Image.pm:

sub newFromGif { croak("Usage: newFromGif(class,filehandle,[truecolor])") unless @_ +>=2; my($class) = shift; my($f) = shift; my $fh = $class->_make_filehandle($f); binmode($fh); # <-- line 193 $class->_newFromGif($fh,@_); }

Versions:
GD: 2.27
gd: 2.0.33

What am I doing wrong?

Replies are listed 'Best First'.
Re: constant problem with GD's newFromGif
by Roger (Parson) on Sep 01, 2005 at 11:01 UTC
    Try my $im = GD::Image->newFromGif( \*F );

    Hang on, did you check whether your open succeeded or not? Do this instead:
    open F, TMP_GIF_FNAME or die "Can not open image: $!";
      open F, TMP_GIF_FNAME or die "Can not open image: $!";
      You're right, that was the reason (I overlooked it, because the code became too heavy instead of several lines, written several days ago, because I coudn't create image from GIF data, only from file).