Perl:在子例程中修改 ImageMagick 对象
Perl: modify an ImageMagick object in a subroutine
我正在使用 Perl (5.16) 和 ImageMagick (6.8.8)。我想通过引用将一个新的 ImageMagick 对象发送到一个子例程并在那里修改该对象,但是我得到 "Can't call method "Read" on unblessed reference"。显然,我没有在子例程中正确处理对象。谁能帮忙?谢谢
my $im=Image::Magick->new;
ModifyImage($im,$f);
sub ModifyImage {
my $im=shift;
my $file=shift;
my $res = $im->Read($file);
warn $res if $res;
}
您的 Image::Magick
对象 $im
已经包含对数据的引用。你不需要引用变量,你的调用应该看起来像
ModifyImage($im, $f);
我会这样写子程序
sub ModifyImage {
my ($im, $file) = @_;
my $res = $im->Read($file)
warn $res if $res;
}
为了更简洁,明确$im
和$file
是参数。
我正在使用 Perl (5.16) 和 ImageMagick (6.8.8)。我想通过引用将一个新的 ImageMagick 对象发送到一个子例程并在那里修改该对象,但是我得到 "Can't call method "Read" on unblessed reference"。显然,我没有在子例程中正确处理对象。谁能帮忙?谢谢
my $im=Image::Magick->new;
ModifyImage($im,$f);
sub ModifyImage {
my $im=shift;
my $file=shift;
my $res = $im->Read($file);
warn $res if $res;
}
您的 Image::Magick
对象 $im
已经包含对数据的引用。你不需要引用变量,你的调用应该看起来像
ModifyImage($im, $f);
我会这样写子程序
sub ModifyImage {
my ($im, $file) = @_;
my $res = $im->Read($file)
warn $res if $res;
}
为了更简洁,明确$im
和$file
是参数。