File-Append-Undoable

 view release on metacpan or  search on metacpan

lib/File/Append/Undoable.pm  view on Meta::CPAN

        log_info("Appending string to file $path ...");
        my $res = File::Trash::Undoable::trash(
            -tx_action=>'fix_state', path=>$path, suffix=>substr($taid,0,8));
        return $res unless $res->[0] == 200 || $res->[0] == 304;
        copy $res->[2], $path
            or return [500, "Can't copy from $res->[2]: $!"];
        open my($fh), ">>", $path or return [500, "Can't open for append: $!"];
        print $fh $string;
        close $fh or return [500, "Can't close: $!"];
        chmod $st[2] & 07777, $path; # XXX ignore error?
        unless ($>) { chown $st[4], $st[5], $path } # XXX ignore error?
        return [200, "OK"];
    }
    [400, "Invalid -tx_action"];
}

1;
# ABSTRACT: Append string to a file, with undo support

__END__



( run in 0.738 second using v1.01-cache-2.11-cpan-71847e10f99 )