What you would probably want to do is read line by line with:
while (my $line = <IN>)
#Do stuff with $line
$line =~ s/rotate\(-180/rotate\(-0/g;
(The minimalist for loop you have reads the whole file in at once, then loops over the lines with the current line stored in $_
. Your subsequent code implicitly uses $_
with the substitutions and whatnot, which is what is tripping you up I believe.)
You also have an issue with your opens; "$dirname/$in" || next is unlikely to do the next, since "$dirname/$in" isn't going to be false. You want to use "or" instead of "||" there for the precedence.
You may also want to upgrade to open my $inFileHandle, '<', "$dirname/$in" or next;, which will make it easy to pass $inFileHandle into functions in the future, but that's not important for what you're currently doing.