


Mail::SpamAssasUser:Contributed Perl Mail::SpamAssassin::Util(3p)


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.

       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.12.2                2010-03-16                          1


