Der Fehlerteufel

Hi folks,

ich habe hier folgendes perl-script, das mir die nachfolgenden Fehler bringt, und ich komme einfach nicht weiter bei der Fehlersuche…

#!/usr/bin/perl -W

use Image::Magick;

if (@ARGV[1] eq "")
{
 printf("Usage: $0 size pic1 pic2 pic3 ...\n");
 printf("Example: $0 16 test.gif test2.ico\n\n");
 exit;
}

$images = Image::Magick-\>new();

$SIZE = @ARGV[0];
$ERW = join('','\_',$SIZE,'x',$SIZE,".xpm");

$flg=0;
foreach $file (@ARGV)
{
 if (($flg eq "1"))
 {
 $images-\>Read(filename =\> $file) && die "Read failed";
 }
 $flg=1;
}
foreach $image (@$images)
{
 $image-\>Scale(width =\> $SIZE);
 $image-\>Scale(height =\> $SIZE);
 ($newname = $image-\>Get('base\_filename'))
 =~ s/\.[^.]\*$/$ERW/;
 $image-\>Write($newname) && die "Write failed";
}

Fehler:
========
Warning 310: Invalid attribute (base\_filename) [Datei oder Verzeichnis nicht gefunden] at ./iceico.pl line 30.
Use of uninitialized value in substitution (s///) at ./iceico.pl line 30.
Use of uninitialized value in subroutine entry at ./iceico.pl line 32.
Write failed at ./iceico.pl line 32.

leider sind meine Perl-Kenntnisse nicht so berauschend, alsdass ich das selber hinbiegen kann, hat jemand einen Tip zur Fehlerbekaempfung?

cu micha

ich habe hier folgendes perl-script, das mir die nachfolgenden
Fehler bringt, und ich komme einfach nicht weiter bei der
Fehlersuche…

Warning 310: Invalid attribute (base_filename) [Datei oder
Verzeichnis nicht gefunden] at ./iceico.pl line 30.
Use of uninitialized value in substitution (s///) at
./iceico.pl line 30.
Use of uninitialized value in subroutine entry at ./iceico.pl
line 32.
Write failed at ./iceico.pl line 32.

($newname = $image->Get(‚base_filename‘)) =~ s/.[^.]*$/$ERW/;

Die Fehlermeldung sagt eigentlich schon alles: Image::Magik kennt das Attribut base_filename in der Methode „Get“ nicht.
Der Rest sind daraus folgende Fehler ($newname leer (uninitialized), …

Soweit ich der Doku entnehmen kann muss das Attribut: base-filename heißen (- statt _)

siehe auch http://www.imagemagick.org/www/perl.html#geta

Klaus

($newname = $image->Get(‚base_filename‘)) =~
s/.[^.]*$/$ERW/;

Die Fehlermeldung sagt eigentlich schon alles: Image::Magik
kennt das Attribut base_filename in der Methode „Get“ nicht.
Der Rest sind daraus folgende Fehler ($newname leer
(uninitialized), …

Soweit ich der Doku entnehmen kann muss das Attribut:
base-filename heißen (- statt _)

siehe auch http://www.imagemagick.org/www/perl.html#geta

Klaus

Danke Klaus,

tja, was so ein kurzes druecken der shift Taste so alles bewirken kann… thx, das ist mir beim lesen der Doku nicht aufgefallen… :frowning:

cu micha