Thanks! My 2 (actually 4) cents below.
> +if ($#ARGV == 1 && ("$ARGV[0]" eq "-i" || "$ARGV[0]" eq "--inline")) {
> + $diff = $ARGV[1];
Can we shift here and then just set $diff to $ARGV[0] unconditionally?
> + if ($diff eq "-") {
> + die "Reading from - and using -i are not compatible";
> + }
Hm, can't we dump ChangeLog to stdout in that case?
The limitation looks rather strange.
> + open (FILE1, '>', $tmp) or die "Could not open temp file";
Could we use more descriptive name?
> + system ("cat $diff >>$tmp") == 0
> + or die "Could not append patch to temp file";
> ...
> + unlink ($tmp) == 1 or die "Could not remove temp file";
The checks look like an overkill given that we don't check for result of
mktemp...
-Y