Mail::SpamAssassin::Util - utility functions
A general class for utility functions. Please use this for functions that stand alone, without requiring a $self object, Portability functions especially.
NOTE: The functions in this module are to be considered private. Their API may change at any point, and its expected that theyll only be used by other Mail::SpamAssassin modules. (TODO: we should probably revisit this if its useful for plugin development.)
NOTE: Utility functions should not be changing global variables such as $_, $1, $2, ... $/, etc. unless explicitly documented. If these variables are in use by these functions, they should be localized.
$module = first_available_module (@module_list) Return the name of the first module that can be successfully loaded with require from the list. Returns undef if none are available.
This is used instead of AnyDBM_File as follows:
my $module = Mail::SpamAssassin::Util::first_available_module (qw(DB_File GDBM_File NDBM_File SDBM_File)); tie %hash, $module, $path, [... args];
Note that SDBM_File is guaranteed to be present, since it comes with Perl.
my ($filepath, $filehandle) = secure_tmpfile(); Generates a filename for a temporary file, opens it exclusively and securely, and returns a filehandle to the open file (opened O_RDWR).
If it cannot open a file after 20 tries, it returns undef.
my ($dirpath) = secure_tmpdir(); Generates a directory for temporary files. Creates it securely and returns the path to the directory.
If it cannot create a directory after 20 tries, it returns undef.
|perl v5.8.8||Mail::SpamAssassin::Util (3)||2010-03-16|