我正在开发一个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) 我正在尝试通过 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)