NAME File::Trash::Undoable - Trash files (with undo support) VERSION version 0.05 SYNOPSIS # use the trash-u script DESCRIPTION This module provides routines to trash files, with undo/redo support. Originally written to demonstrate/test Perinci::Sub::Gen::Undoable. SEE ALSO * gvfs-trash A command-line utility, part of the GNOME project. * trash-cli, https://github.com/andreafrancia/trash-cli A Python-based command-line application. Also follows freedesktop.org trash specification. * rmv, http://code.google.com/p/rmv/ A bash script. Features undo ("rollback"). At the time of this writing, does not support per-filesystem trash (everything goes into home trash). FUNCTIONS empty_trash() -> [status, msg, result, meta] Empty trash. No arguments. Return value: Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. list_trash_contents() -> [status, msg, result, meta] List contents of trash directory. No arguments. Return value: Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. trash(%args) -> [status, msg, result, meta] Trash a file. Fixed state: path does not exist. Fixable state: path exists. Arguments ('*' denotes required arguments): * path* => *str* Return value: Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. trash_files(%args) -> [status, msg, result, meta] Trash files (with undo support). Arguments ('*' denotes required arguments): * files* => *array* Files/dirs to delete. Files must exist. Return value: Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. untrash(%args) -> [status, msg, result, meta] Untrash a file. Fixed state: path exists (and if mtime is specified, with same mtime). Fixable state: Path does not exist (and exists in trash, and if mtime is specified, has the exact same mtime). Arguments ('*' denotes required arguments): * mtime* => *int* * path* => *str* Return value: Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. AUTHOR Steven Haryanto COPYRIGHT AND LICENSE This software is copyright (c) 2012 by Steven Haryanto. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.