⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpan.pm

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 PM
字号:
package LWP::Protocol::cpan;use strict;use vars qw(@ISA);require LWP::Protocol;@ISA = qw(LWP::Protocol);require URI;require HTTP::Status;require HTTP::Response;our $CPAN;unless ($CPAN) {    # Try to find local CPAN mirror via $CPAN::Config    eval {	require CPAN::Config;	if($CPAN::Config) {	    my $urls = $CPAN::Config->{urllist};	    if (ref($urls) eq "ARRAY") {		my $file;		for (@$urls) {		    if (/^file:/) {			$file = $_;			last;		    }		}		if ($file) {		    $CPAN = $file;		}		else {		    $CPAN = $urls->[0];		}	    }	}    };    $CPAN ||= "http://cpan.org/";  # last resort}# ensure that we don't chop of last part$CPAN .= "/" unless $CPAN =~ m,/$,;sub request {    my($self, $request, $proxy, $arg, $size) = @_;    # check proxy    if (defined $proxy)    {	return HTTP::Response->new(&HTTP::Status::RC_BAD_REQUEST,				   'You can not proxy with cpan');    }    # check method    my $method = $request->method;    unless ($method eq 'GET' || $method eq 'HEAD') {	return HTTP::Response->new(&HTTP::Status::RC_BAD_REQUEST,				   'Library does not allow method ' .				   "$method for 'cpan:' URLs");    }    my $path = $request->uri->path;    $path =~ s,^/,,;    my $response = HTTP::Response->new(&HTTP::Status::RC_FOUND);    $response->header("Location" => URI->new_abs($path, $CPAN));    $response;}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -