Here is your changed code with the syntax errors fixed:
#!/usr/bin/perl -w #use Image::Magick; # you don't need that if you shell out to convert use strict; my $file="1251748705.jpg"; my $rfile="thumbnail.gif"; my $rrfile="thumbnail2.png"; my @cmd = ( "convert", # added the double quote here $rfile, qw[( +clone -threshold -1 -virtual-pixel black -spread 10 -blur 0x3 -threshold 50% -spread 1 -blur 0x.7 ) +matte -compose Copy_Opacity -composite ], $rrfile ); # removed a double quote here #system("convert -size 500x180 $file -auto-orient -thumbnail 250x90 + -unsharp 0x.5 $rfile"); print "About to run [@cmd]\n"; system(@cmd) == 0 or die "Couldn't launch [@cmd]: $!/$?";
This program compiles for me. As I don't have the convert executable, I can't tell you whether it does what it should.
For further reading, you might want to read perlop about the "Quotes and Quote-like Operators".
In reply to Re^5: system call to ImageMagick with many parameters fails
by Corion
in thread system call to ImageMagick with many parameters fails
by august
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |