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… 
cu micha