- 论坛徽章:
- 0
|
先说一下情况:
我的目的是下载两个包含很多下载链接的页面:patches.html、packages.html,用一个perl脚本get_list.pl提取页面中的下载链接,形成一个链接表lnks_uclibc.txt。
之后用wget下载:wget -N -i lnks_uclibc.txt。
相关代码如下:
1. 先是运行脚本:
- wget http://www.linuxfromscratch.org/hlfs/view/unstable/uclibc/chapter04/patches.html
- wget http://www.linuxfromscratch.org/hlfs/view/unstable/uclibc/chapter04/packages.html
- cat patches.html packages.html > uclibc.htm
- perl get_list.pl
- rm -v patches.html packages.html
复制代码
2. 以下是get_list.pl的代码,注释中是之前的版本。最后那个Solution 6是出现warn的版本:
- #!/usr/bin/perl
- use strict;
- use warnings;
- open (FILE, "uclibc.htm") or die "the chapter of packages and patches ready?";
- open (FILE2, ">lnks_uclibc.txt") or die "the output file ready?";
- # Solution 5:
- # while (<FILE>) {
- # if ($_ =~ /"((http|ftp):.*(bz2|gz|patch))".*(\n)/) {
- # print FILE2 $1."\n";
- # }
- # }
- # Solution 6:
- print FILE2 map { /"((http|ftp):.*(bz2|gz|patch))".*(\n)/; $1.$4 } <FILE>;
- close FILE;
- close FILE2;
复制代码
另外,如果不加
- use strict;
- use warnings;
复制代码
就不会有错误提示,但我觉得因为加上。
难道是说我$1和$4没有初始化?可是Solution 5不是没warn吗?郁闷中……
[ 本帖最后由 ehu4ever 于 2006-2-3 19:18 编辑 ] |
|