Provided by: spamassassin_4.0.0-8ubuntu5_all bug

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.)

       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.

       touch_file(file, { args });
           Touch or create a file.

           Possible args:

           create_exclusive => 1
             Create a new empty file safely, only if not existing before

       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.38.2                                       2024-04-12                      Mail::SpamAssassin::Util(3pm)