my $failcount = 0;
for my $src (@ARGV) {
- my ($name, @cmds) = split /:/, $src =~ s/\.(\w+)\z//r;
+ my ($name, @cmds) = split /:(?<!\\:)/, $src =~ s/\.(\w+)\z//r;
my $ext = $1 // '*';
next if $name =~ m/\./;
unless (-e $src) {
($src) = grep {-e} glob qq<"$name"{,:*}.$ext> or next;
}
+ s/\\(.)/$1/g for @cmds;
say $name;
if (@cmds and $cmds[0] =~ /^\d/) {
unshift @cmds, -gravity => 'northwest' if @cmds;
push @cmds, -resize => '300x200^', -gravity => 'north', -extent => '300x200';
push @cmds, '-strip', -quality => '60%';
- system(convert => @cmds, $src => "../$name.jpg") == 0
+ system(convert => $src, @cmds, "../$name.jpg") == 0
or $failcount += warn "error creating $name.jpg from $src\n";
}