IO::AtomicFile(3) User Contributed Perl Documentation IO::AtomicFile(3)NAME
IO::AtomicFile - write a file which is updated atomically
SYNOPSIS
use IO::AtomicFile;
### Write a temp file, and have it install itself when closed:
my $FH = IO::AtomicFile->open("bar.dat", "w");
print $FH "Hello!
";
$FH->close || die "couldn't install atomic file: $!";
### Write a temp file, but delete it before it gets installed:
my $FH = IO::AtomicFile->open("bar.dat", "w");
print $FH "Hello!
";
$FH->delete;
### Write a temp file, but neither install it nor delete it:
my $FH = IO::AtomicFile->open("bar.dat", "w");
print $FH "Hello!
";
$FH->detach;
DESCRIPTION
This module is intended for people who need to update files reliably in the face of unexpected program termination.
For example, you generally don't want to be halfway in the middle of writing /etc/passwd and have your program terminate! Even the act of
writing a single scalar to a filehandle is not atomic.
But this module gives you true atomic updates, via rename(). When you open a file /foo/bar.dat via this module, you are actually opening a
temporary file /foo/bar.dat..TMP, and writing your output there. The act of closing this file (either explicitly via close(), or
implicitly via the destruction of the object) will cause rename() to be called... therefore, from the point of view of the outside world,
the file's contents are updated in a single time quantum.
To ensure that problems do not go undetected, the "close" method done by the destructor will raise a fatal exception if the rename() fails.
The explicit close() just returns undef.
You can also decide at any point to trash the file you've been building.
AUTHOR
Primary Maintainer
David F. Skoll (dfs@roaringpenguin.com).
Original Author
Eryq (eryq@zeegee.com). President, ZeeGee Software Inc (http://www.zeegee.com).
REVISION
$Revision: 1.2 $
perl v5.18.2 2005-02-10 IO::AtomicFile(3)
Check Out this Related Man Page
MooseX::Storage::IO::AtomicFile(3pm) User Contributed Perl Documentation MooseX::Storage::IO::AtomicFile(3pm)NAME
MooseX::Storage::IO::AtomicFile - An Atomic File I/O role
VERSION
version 0.45
SYNOPSIS
package Point;
use Moose;
use MooseX::Storage;
with Storage('format' => 'JSON', 'io' => 'AtomicFile');
has 'x' => (is => 'rw', isa => 'Int');
has 'y' => (is => 'rw', isa => 'Int');
1;
my $p = Point->new(x => 10, y => 10);
## methods to load/store a class
## on the file system
$p->store('my_point.json');
my $p2 = Point->load('my_point.json');
METHODS
load ($filename)
store ($filename)
Introspection
meta
BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to
cpan-RT.
AUTHORS
o Chris Prather <chris.prather@iinteractive.com>
o Stevan Little <stevan.little@iinteractive.com>
o XXXX XXX'XX (Yuval Kogman) <nothingmuch@woobling.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2007 by Infinity Interactive, Inc..
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
perl v5.18.2 2013-12-21 MooseX::Storage::IO::AtomicFile(3pm)
Hi,
I am trying to write to a dat tape, using HP UX 10.20
tar: cannot open /dev/dat
not mounted ?
ioscan ? if so, then where ?
suggestions ?
thanks
simon (6 Replies)
I'm writing a unix script that simply does some basic command line stuff for a whole lot of similar directories (ls *.dat > foo.bar). Its my first script ever, and its going ok, except I can't, for the life of me, figure out how to get arithmetic to work in the script.
FIVE=5
MY_NUMBER='expr... (4 Replies)
hi there guys,
wonder if any gurus can help me out on this one...
try searching the past threads but cant find anything.
i have this huge file but when i use vi to open it it gives me the following error:
<"pmrepserver.txt""/var/tmp/Ex86200" There is not enough space in the file... (7 Replies)
#!/usr/bin/perl -w
use strict;
open(FH,"$ARGV") or die;
my @temp=<FH>;
close FH;
my $mean = Mean(\@temp);
my $var = variance(\@temp);
print "$var\n";
sub estimate_variance {
my ($arrayref) = @_;
my ($mean,$result) = (mean($arrayref),0);
foreach (@$arrayref) {... (4 Replies)
Hi All,
Can't find any documentation on the web for this anywhere, except about three web pages that are in Chinese.
When I enter SMIT on this box, I get
ERROR MESSAGE: Unable to open temp file
I suspected smit.log, but it is universal readable, writeable by root, and I am root.... (6 Replies)
I have a .dat file in unix and it keeps failing file validation on line x. How do I delete a data string from a .dat file in UNIX?
I tried the following:
sed -e 'data string' -e file name
and it telling me unrecognized command (4 Replies)
Hi,
I am trying to write a program, to find the open port on any system. Rightnow, my programm is working fine on the same system ip.
Now, i want to enhanced it to get any IP address and perform the task.
Problem is that, i have only IP address, like "111:111:111:111".
From this how to get... (6 Replies)
I met a problem on HPUX with 64G RAM and 20 CPU.
There are 5 million files with file name from file0000001.dat to file9999999.dat, in the same directory, and with some other files with random names.
I was trying to remove all the files from file0000001.dat to file9999999.dat at the same time.... (9 Replies)
I need a script that will allow me to rename all of my files in subdir /FilesIn
as follows:
From kumc_835_111200.RMT.dat to kumc_835_111200RMT.dat
kumc_835_111200.KMR.dat to kumc_835_111200KMR.dat
.................etc
How do I do that whithout doing a sed ... (10 Replies)
Hi,
I'm trying to acheive the following, I have a dat file in which i have several addresses, If the address starts with a single digit then i have to delete the line,
if it starts with 2 or more digits then i have to keep the line
Here is a sample of my file:
377 CARRER DE LA... (5 Replies)
I've been googling for days but can't find a solution to this problem.
I have a number of sets of files on a server
file02.dat
.
.
file12.dat
/.../fred(1 to n)/bill(1 to m)/tony/joe/
in any "fred" branch there will be one or more "bill"s
some joe/'s may not have a fileset and... (4 Replies)
Hello All,
I have a directory containing of many .dat file, but with different naming conventions.
I want to delete files which are created before and on 10th September 2013.
I tried this command to see files which are are the files created before 10th September
find path/to/file -type... (6 Replies)
Hi guys -
I am trying to have a certain file display information horizontally divided by a pipe.
for example
file name: foo.dat has information like this:
name1
name2
name3
namenamename4
namene5
I would like it to display like this:
name1|name2|name3|namenamename4|namene5
... (6 Replies)
Hello All,
I have some files like file, file.chk, file.sem and file.temp in huge. I would like to delete some files based on following criteria.
1. Unconditionally delete .sem and .temp files
2. If we found the actual file, don't remove .chk file, otherwise remove .chk file as well
for... (5 Replies)