in reply to Perl - Linux - Unable to Write Files

change
print $outputfile "$parsedstring\n" or warn 'couldnot write to file';
to
print $outputfile "$parsedstring\n" or warn "couldnot write to $inpfil +e: $!";

When you operate on a bunch of things and it breaks you need to know which thing, in this case maybe something can be learned by knowing what it broke on and if $! is set to something that helps diagnose the problem.

$| is a flag variable so it only matters if it is 0 or not zero. $|++ is a cool way to make it not zero, in a loop it is not cool at all, your making it non zero over and over and over. Why do you need to autoflush anwyays? I assume there is some benefit because it is default behavior.

$|=20; print $|;
Still says 1 so perl is actively refusing to obey.. subverting.. kind of makes me feel uncertain about the balance of power here.