Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^4: In place edit does not work on Windows

by furry_marmot (Pilgrim)
on Mar 22, 2012 at 18:36 UTC ( #961069=note: print w/ replies, xml ) Need Help??


in reply to Re^3: In place edit does not work on Windows
in thread In place edit does not work on Windows

I think you're making it way too complicated. In-place editing, when you don't know what you're doing, can wipe out your files. And besides, it's not really editing in-place. It makes an optional backup copy of the file, but it always writes a new file.

There's probably a module for this (such as Iterator::Diamond, noted here), but it's easy enough to do yourself also. Here's something simple, that is probably more reliable than what you're doing.

# Assumes you are using strict -- RIGHT? { # Need to add tags of <vom> and <\vom> at the start and # end of the file. # Changing '\' to '\\' is not wrong, but you can also use # '/' on Windows. Perl handles it just fine, and it's a lot # easier to read. It's optional here since you're not dealing # with the filenames directly. $out->[1] =~ s{\\}{/}g; # First, create a backup name and rename the original file. This # creates your backup file, and we'll create your "original" in # a moment. my $bk = $out->[1] . ".bk"; rename $out->[1], $bk; # Open the backup for input. open my $f, '<', $bk or die $!; my $data; # Use this to capture data. # Old-style slurp mode. { local $/ = undef; $data = <$f>; } # Now open the original filename, reusing the filehandle, and # write to it. open $f, '>', $out->[1] or die $!; print $f "<vom>\n", $data, "\n</vom>\n"; close $f; # All done. }
--marmot


Comment on Re^4: In place edit does not work on Windows
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://961069]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2015-07-04 14:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls