NAME

Meta::Utils::File::Remove - package that eases removal of files and directories.

COPYRIGHT

Copyright (C) 2001 Mark Veltzer; All rights reserved.

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.

DETAILS

MANIFEST: Remove.pm PROJECT: meta

SYNOPSIS

package foo; use Meta::Utils::File::Remove qw(); Meta::Utils::File::Remove::rm($filename); Meta::Utils::File::Remove::rmdir($dirname);

DESCRIPTION

This module eases the use of rm. Instead of checking for errors all of the time just let this module remove a file or directory for you (it has all the options including a recursive one...). If something happens wrong it dies on you but hey - thats the price you got to pay...

EXPORTS

rm_nodie($) rm($) rm_demo_verb($$$) rm_rmdir($) rmdir($) rmdir_demo_verb($$$$) rmall() rmrecusrive($) rmhash_demo_verb($$$) rmlist_demo_verb($$$) rmmult_demo_verb($$)

FUNCTION DOCUMENTATION

rm_nodie($)

This function removes a single file and does not do anything if it does not exist. This function returns whether it managed to do it or not...

rm($)

This function removes a single file and dies if it cannot do so. It does not return a value.

rm_demo_verb($$$)

This function removes a file only if the demo is false and also emits a message if the verbose flag is true

rm_rmdir($)

This function removes a file and then removes the directory in which it is located if it remains empty. Actually this function should continues going higher....:) up the directory tree.

rmdir($)

This function removes a directory and dies if it cannot do so. This function does not return a value.

rmdir_demo_verb($$$$)

This function removes a directory only if the demo flag is false. The function also emits a message about the directory begin removed if the verbose flag is true.

rmall()

This function assumes that you dont know if what you're looking to remove is a file or a directory and removes whichever this is... It dies if it cannot perform.

rmrecusive($)

This function removes a directory in a recursive fashion. It uses the File::Find function to achieve this (unlinking dirs is not good...:) It also uses the rmall function to achieve this (nice trick...).

rmhash_demo_verb($$$)

This routine removes a whole hash. As expected, demo and verbose arguments are also allowed.

rmlist_demo_verb($$$)

This routine removes a whole list. As expected, demo and verbose arguments are also allowed.

rmmult_demo_verb($$)

This function receives the regular demo and verbose variables and treats the standard input as a source for lines, each representing a file to be removed. The function removes all the files refered as such. The function returns whether all the removals were successful or not.

BUGS

None

AUTHOR

Mark Veltzer <mark2776@yahoo.com>

HISTORY

start of revision info 1 Mon Jan 1 16:38:12 2001 MV initial code brought in 2 Sat Jan 6 11:39:39 2001 MV make quality checks on perl code 3 Sat Jan 6 17:14:09 2001 MV more perl checks 4 Sun Jan 7 18:17:29 2001 MV make Meta::Utils::Opts object oriented 5 Tue Jan 9 18:15:19 2001 MV check that all uses have qw 6 Tue Jan 9 19:29:31 2001 MV fix todo items look in pod documentation 7 Wed Jan 10 12:05:55 2001 MV more on tests/more checks to perl 8 Thu Jan 18 13:57:59 2001 MV make lilypond work 8 Thu Jan 18 15:59:13 2001 MV correct die usage 9 Thu Jan 18 18:05:39 2001 MV lilypond stuff 10 Sun Jan 28 02:34:56 2001 MV perl code quality 11 Sun Jan 28 13:51:26 2001 MV more perl quality 12 Tue Jan 30 03:03:17 2001 MV more perl quality 13 Sat Feb 3 23:41:08 2001 MV perl documentation 14 Mon Feb 5 03:21:02 2001 MV more perl quality 15 Tue Feb 6 01:04:52 2001 MV perl qulity code 16 Tue Feb 6 07:02:13 2001 MV more perl code quality 17 Tue Feb 6 22:19:51 2001 MV revision change end of revision info

SEE ALSO

Nothing.

TODO

-rm_rmdir should climb higher and keep removing dirs (its not doing that right now...).

-add a die parameter to the rm($) function and propagate it up.

-add an option to the rmmult_demo_verb function to remove files from any file source (not just stdin...).