小编mir*_*977的帖子

如何有条件地包含Perl模块和库,以及它们的全局变量

我正在开发一个Perl脚本.在里面我用各种各样的moudules:

use Module::One;
use Module::Two;
...
Run Code Online (Sandbox Code Playgroud)

我还使用这些模块中的全局变量:

$GLOBAL_1 = 1;
$GLOBAL_2 = 1;
...
Run Code Online (Sandbox Code Playgroud)

假设脚本的名称是

my_script.pl
Run Code Online (Sandbox Code Playgroud)

是否有可能在向脚本传递一个名为'no_libs'的参数时有条件地包含上述模块和全局变量,但是每当不传递这个参数时 - 不包括或使用它们?像这样的东西:

perl my_cript.pl no_libs

if ( $ARGV[0] eq 'no_libs' ) {
    use Module::One;
    use Module::Two;
    ...

    $GLOBAL_1 = 1;
    $GLOBAL_2 = 1;
    ...
}
Run Code Online (Sandbox Code Playgroud)

perl perl-module

2
推荐指数
1
解决办法
99
查看次数

如何为 Perl 的 HTTP::DAV 实现 https 支持

我正在尝试通过 WebDav 协议访问远程服务器,更具体地说是 Perl 的 HTTP::DAV 模块。

根据其文档,与远程目录的耦合以以下方式进行:

use HTTP::DAV;
 
$d = HTTP::DAV->new();
$url = "http://host.org:8080/dav/";
 
$d->credentials(
   -user  => "pcollins",
   -pass  => "mypass", 
   -url   => $url,
   -realm => "DAV Realm"
);
 
$d->open( -url => $url )
   or die("Couldn't open $url: " .$d->message . "\n");
Run Code Online (Sandbox Code Playgroud)

我创建了一个本地 webdav 目录,可以通过http protocol.

根据HTTP::DAV的文档,应该有并且https支持使用该Crypt::SSLeay模块。

Crypt::SSLeay的机制的文档提供给我们使用内部下面Synopsys的LWP::UserAgent模块,从而提供用于在我们网站资源访问https协议:

use Net::SSL;
use LWP::UserAgent;
 
my $ua  = LWP::UserAgent->new(
    ssl_opts => { verify_hostname => 0 },
); …
Run Code Online (Sandbox Code Playgroud)

perl https webdav

2
推荐指数
1
解决办法
67
查看次数

标签 统计

perl ×2

https ×1

perl-module ×1

webdav ×1