Unix-ConfigFile
view release on metacpan or search on metacpan
ConfigFile.pm view on Meta::CPAN
# Commit in-memory changes to disk
sub commit {
my ($this, %opt) = @_;
return 0 if $this->mode eq "r";
my $tempname = $this->filename . ".tmp." . $$;
my $fh = new IO::File ">$tempname" or return 0;
my ($mode, $uid, $gid) = (stat $this->fh)[2,4,5];
chown $uid, $gid, $tempname;
chmod $mode, $tempname;
if (exists $opt{writeopts}) {
$this->write($fh, $opt{writeopts}) or return 0;
}
else {
$this->write($fh) or return 0;
}
undef $fh;
if (defined $opt{backup}) {
rename $this->filename, $this->filename . $opt{backup};
( run in 1.001 second using v1.01-cache-2.11-cpan-5511b514fd6 )