I have a file called \"test.txt\" like that:
hello world
it is, just a \'hello world\' string. If I use a perl regex:
perl -pe
The redirection takes place while your shell is parsing your command line. This happens before the actual command is executed, thus the file you redirect to is overwritten before you have the chance to read it.
perl
accepts the parameter -i
for inplace. With this, you can process a file with a perl program and immediately have it written back.
It opens the file for writing due to the redirect before the application gets a chance to read from it. Redirect to a temporary file instead, then rename it after.