############################################################################### # ModuleChecker.pm # # $Date: 01 Sep 2026 $ # ############################################################################### # YaBBForum: Yet another Bulletin Board # # Open-Source Community Software for Webmasters # # Version: YaBBForum 3.2 # # Packaged: 01 Sep 2026 # # Distributed by: https://yabbforum.nz # # =========================================================================== # # Copyright (c) 2000-2026 YaBBForum (yabbforum.nz) - All Rights Reserved. # # Software by: The YaBBForum Development Team # # with assistance from the YaBBForum community. # ############################################################################### use strict; #use warnings; use CGI::Carp qw(fatalsToBrowser); use English qw(-no_match_vars); our $VERSION = '3.2'; our $modulecheckerpmver = 'YaBBForum 3.2'; our ( $action, $yymain, %modulecheck ); if ( $action eq 'detailedversion' ) { return 1; } my $script_root = $ENV{'SCRIPT_FILENAME'}; if ( !$script_root ) { $script_root = $ENV{'PATH_TRANSLATED'}; } my ( $checker_output, $i ); my @modules = qw(Digest::MD5 Time::HiRes Time::Local DateTime DateTime::TimeZone File::Find CGI Net::SMTP Net::SMTP::TLS Net::DNS Mail::CheckUser Compress::Zlib IO::Compress::Bzip2 JSON::PP Archive::Tar Archive::Zip MIME::Lite LWP::UserAgent HTTP::Request::Common IO::Socket::SSL IO::Socket::INET Digest::HMAC_MD5 Carp bytes integer English URI::Escape); @modules = sort @modules; foreach my $module ( @modules ) { eval "require $module;"; my $dont_continue_setup = q{}; if ($EVAL_ERROR) { if ( $module eq 'Digest::MD5' ) { $dont_continue_setup = 1; } $i = $modulecheck{'8'}; my $e = $EVAL_ERROR; # IE does display the @INC path it in one line :-( # If you use IE and don't like what you see, remove the # comment (#) in next line. # $e =~ s/\//\\/g; $checker_output .= qq~
| $modulecheck{'1'} | ||
| $modulecheck{'2'} | ||
| $modulecheck{'perlver'}: $perlver | ||
| $modulecheck{'7'} | $i | |
| $modulecheck{'3'} | $modulecheck{'4'} | |