首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

!代码解析!高分送上

2012-02-14 
救命啊!代码解析!高分送上!小弟没用过perl,现在上头让我解析这代码,哪位大哥能帮我一行行讲讲啊!!谢谢阿su

救命啊!代码解析!高分送上!
小弟没用过perl,现在上头让我解析这代码,哪位大哥能帮我一行行讲讲啊!!
谢谢阿
sub   cacheclear   {
        my   ($targethost,   $diffdata,   $servicename,   $CDir,   $PDir)   =   @_;

        foreach   my   $i   (sort   keys   %{$diffdata})   {
#foreach   my   $j   (keys   %{$diffdata{$i}})   {
foreach   my   $j   (keys   %{$diffdata{$i}})   {
                if   ($diffdata{$i}{$j}   !~   /^\s*$/)   {
my   @url   =   ();
if   ($j   eq   "NEWSITEMID ")   {
        push   (@url,   "$CDir?n=$diffdata{$i}{$j} ");
        push   (@url,   "$CDir?ichiran=True&n=$diffdata{$i}{$j} ");
}   else   {
        push   (@url,   "$diffdata{$i}{$j} ");
}

print   DEBUG   "$i   :   $j   :   $diffdata{$i}{$j}\n ";
foreach   my   $u   (@url)   {
        my   $sock   =   IO::Socket::INET-> new(PeerAddr   =>   "$targethost ",
  PeerPort   =>   80,
  Proto         =>   'tcp ',
  Timeout     =>   10);
        if   (!   $sock){
return;
        }
        print   "Connected   $targethost:80\n "   if   $debug;

        print   "GET   ||$u||   HTTP/1.0\r\n "   if   $debug;
        print   DEBUG   "$$   :   $targethost   :   GET   ||$u||   HTTP/1.0\r\n "   if   $debug;

        print   $sock   "GET   $u   HTTP/1.0\r\n ";
        print   $sock   "Host:   $servicename\r\n ";
        print   $sock   "Cache-Control:   no-cache\r\n\r\n ";
        while( <$sock> ){
####
        }
        close   ($sock)
}
        }
}
        }
}


[解决办法]
支持
[解决办法]
sub cacheclear { #定义函数
my ($targethost, $diffdata, $servicename, $CDir, $PDir) = @_;#定义变量

foreach my $i (sort keys %{$diffdata}) {# 遍历哈希表
#foreach my $j (keys %{$diffdata{$i}}) {
foreach my $j (keys %{$diffdata{$i}}) {
if ($diffdata{$i}{$j} !~ /^\s*$/) {#正则表达式匹配哈希表中数据
my @url = ();#定义数组
if ($j eq "NEWSITEMID ") {
push (@url, "$CDir?n=$diffdata{$i}{$j} ");#在数组@url的最后附加新的元素 $CDir?n=$diffdata{$i}{$j}到数组@url中。

push (@url, "$CDir?ichiran=True&n=$diffdata{$i}{$j} ");
} else {
push (@url, "$diffdata{$i}{$j} ");
}

print DEBUG "$i : $j : $diffdata{$i}{$j}\n ";#打印
foreach my $u (@url) {#遍历@url数组
my $sock = IO::Socket::INET-> new(PeerAddr => "$targethost ",


PeerPort => 80,
Proto => 'tcp ',
Timeout => 10);#调用IO::Socket::INET包创建类的实例
if (! $sock){
return;
}
print "Connected $targethost:80\n " if $debug;

print "GET ||$u|| HTTP/1.0\r\n " if $debug;
print DEBUG "$$ : $targethost : GET ||$u|| HTTP/1.0\r\n " if $debug;

print $sock "GET $u HTTP/1.0\r\n ";
print $sock "Host: $servicename\r\n ";
print $sock "Cache-Control: no-cache\r\n\r\n ";
while( <$sock> ){#遍历文件行内容
####
}
close ($sock)#关闭文件句柄
}
}
}
}
}

热点排行