NAME
Mail::SpamAssassin::Util - utility functions
DESCRIPTION
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 it's expected that they'll only be used by other Mail::SpamAssassin modules. (TODO: we should probably revisit this if it's useful for plugin development.)
- $module = first_available_module (@module_list)
-
Return the name of the first module that can be successfully loaded with
require
from the list. Returnsundef
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 ($filehandle, $filepath) = 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
.