免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1264 | 回复: 1
打印 上一主题 下一主题

perl 版都半个月了也没人回! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-02 15:26 |只看该作者 |倒序浏览
#!/usr/bin/perl

use LWP::Simple;
use HTML:arser;

my $url = shift || "http://www.chinaunix.net";
my $content = LWP::Simple::get($url) or die("unknown url\n";

my $parser = HTML:arser->;new(
        start_h =>; [\&start, "tagname, attr"],
        );

$parser->;parse($content);
exit 0;

sub start
{
  my ($tag, $attr, $dtext, $origtext) = @_;     
  if($tag =~ /^img$/)   {   

#改为  if($tag =~ /^a$/),就应该是找出所有链接的
#我是参考精华帖 Perl模块使用 =>; 简短例子代码集合! 第37个
#但是执行以后竟然没有任何结果,这是为什么?     

if (defined $attr->;{'src'} )
     {
        print "$attr->;{'src'}\n";     
     }
  }
}


我想把它改成把所有的连接获取后存在一个数组中,不知道该怎么写

sub get_hyperlinks {
my @links;
my ($data, $model) = @_;

my $parser = HTML:arser->;new(
        start_h =>; [\&start, "tagname, attr"],
        );

$parser->;parse($data);
return @links;
sub start
{
  my ($tag, $attr, $dtext, $origtext) = @_;   
# my ($link) = @$_;
  if($tag =~ /^a$/)
  {     
     if (defined $attr->;{'src'} )
     {
         $links[++$#links]= $attr->;{'src'};     
     }
  }
}


}

上面的写法提示:Variable "@links" will not stay shared at yzu.pl

论坛徽章:
0
2 [报告]
发表于 2005-06-03 19:34 |只看该作者

perl 版都半个月了也没人回!

ding
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP