in reply to Not able Create Backup file when using INPLACE_EDIT ( $^I )
The problem is that you're trying to create a backup file named ".bak" in a nonexistant directory named "l.plsub".
$^I doesn't really give you a lot of control over the path into which the temp file is going. Do you see what the error message says? It's not encrypted. The backup file is being named "l.plsub/.bak". That means that the $^I flag is just appending its contents to the current <> filename/path. Probably the easiest solution within your existing framework is to simply use $^I as it's intended to be used, like this:
local $^I = ".bak"; local @ARGV = ( '/home/antony/perl/l.pl' ); while( <> ) {.....
That will cause a backup file named "l.pl.bak" to be created, which is, at least, a valid filename under many OS's, and in an existant directory.
If you want finer control over your tempfiles, you might want to use File::Temp.
Dave
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Not able Create Backup file when using INPLACE_EDIT ( $^I )
by merlyn (Sage) on May 02, 2006 at 05:07 UTC |