Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/xampp/perl/vendor/lib/Crypt/SSLeay/ |
package Crypt::SSLeay::MainContext; # maintains a single instance of the Crypt::SSLeay::CTX class use strict; use Carp (); require Crypt::SSLeay::CTX; my $ctx = &main_ctx(); sub main_ctx { my $ssl_version = shift || 23; my $ctx = Crypt::SSLeay::CTX->new($ssl_version); $ctx->set_cipher_list($ENV{CRYPT_SSLEAY_CIPHER}) if $ENV{CRYPT_SSLEAY_CIPHER}; $ctx; } my %sub_cache = ('main_ctx' => \&main_ctx ); sub import { my $pkg = shift; my $callpkg = caller(); my @func = @_; for (@func) { s/^&//; Carp::croak("Can't export $_ from $pkg") if /\W/;; my $sub = $sub_cache{$_}; unless ($sub) { my $method = $_; $method =~ s/^main_ctx_//; # optional prefix $sub = $sub_cache{$_} = sub { $ctx->$method(@_) }; } no strict 'refs'; *{"${callpkg}::$_"} = $sub; } } 1;