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 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.)
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.
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.
Touch or create a file.
create_exclusive => 1 Create a new empty file safely, only if not existing before
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.
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.
To install Mail::SpamAssassin, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell
For more information on module installation, please visit the detailed CPAN module installation guide.