免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yhyhh
打印 上一主题 下一主题

奔溃中,请教一个关于perl脚本模式匹配的问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-07-25 21:56 |只看该作者
难道真的要这样子一个一个添加吗?有点疑惑了?

论坛徽章:
0
12 [报告]
发表于 2011-07-25 22:05 |只看该作者
好吧,精卫填海,麻雀筑巢中~~~,一个一个地补充库文件。是这样子的吗?

是不是重新换个activeperl的安装文件会好一些呢?


C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Can't locate XML/XPathEngine.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/HTML/TreeBuilder/
XPath.pm line 103.
BEGIN failed--compilation aborted at C:/Perl/lib/HTML/TreeBuilder/XPath.pm line 103.
Compilation failed in require at C:/Perl/lib/Web/Scraper.pm line 10.
BEGIN failed--compilation aborted at C:/Perl/lib/Web/Scraper.pm line 10.
Compilation failed in require at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.
BEGIN failed--compilation aborted at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.

C:\MyPractice\Perl>
C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Can't locate HTML/Selector/XPath.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/Web/Scraper.p
m line 11.
BEGIN failed--compilation aborted at C:/Perl/lib/Web/Scraper.pm line 11.
Compilation failed in require at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.
BEGIN failed--compilation aborted at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Can't locate UNIVERSAL/require.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/Web/Scraper.pm
line 12.
BEGIN failed--compilation aborted at C:/Perl/lib/Web/Scraper.pm line 12.
Compilation failed in require at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.
BEGIN failed--compilation aborted at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 6.

C:\MyPractice\Perl>

论坛徽章:
0
13 [报告]
发表于 2011-07-25 22:10 |只看该作者
本帖最后由 yhyhh 于 2011-07-26 12:25 编辑

呵呵,守得云开见月明了。不过好像中文解码错了,好吧,待小女子把如下解码方式变一变再来检验一番程序运行结果。

encode("gb2312",$value) --》 encode("utf-8",$value)


Anyway,终于有输出结果了啊,看到浙江两个字,兴奋之情不禁溢于言表。

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
1.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
1.
        1396703         浙江犪橹?

C:\MyPractice\Perl>

论坛徽章:
0
14 [报告]
发表于 2011-07-25 22:12 |只看该作者
O my god, 改了编码方式之后,更加认不得了。

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
Parsing of undecoded UTF-8 will give garbage when decoding entities at C:/Perl/lib/Web/Scraper.pm line 116, <FILE> line
1.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
1.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
1.
        1396703         娴欐睙犺、宸?

C:\MyPractice\Perl>

论坛徽章:
0
15 [报告]
发表于 2011-07-25 22:17 |只看该作者
本帖最后由 yhyhh 于 2011-07-26 13:02 编辑

按“fukai” 的镜像TX --> ' iakuf ' 于三楼的提出的建议代码,程序执行结果如下:

C:\MyPractice\Perl>Test_ipcheck_v6.pl mobilelist_v1.txt
Parsing of undecoded UTF-8 will give garbage when decoding entities at C:/Perl/lib/Web/Scraper.pm line 116, <FILE> line
1.
鎮ㄦ煡璇㈢殑鎵嬫満鍙风爜娈?1396703      鍗″彿褰掑睘鍦?娴欐睙犺、宸?

C:\MyPractice\Perl>

还是有问题? 请问扶凯TX 还能出来作些补充解答吗? 小女子不甚感激!

论坛徽章:
0
16 [报告]
发表于 2011-07-25 22:22 |只看该作者
妹子,到cpan上把这个模块找到,装上!或者用cpanm装
txh_zyy 发表于 2011-07-25 20:59



      多谢大侠的建议,现在我是很笨拙地去"http://search.cpan.org/"里把库文件逐个儿搜索出来,然后加到perl的lib中去的,原来的问题是解决了。
    本着虚心求教,不懂就问,打破沙锅问到底的学习精神,想再问大侠一句,"用cpanm装"是什么意思呢?我相信魔鬼藏于细节之中,对您老这句话不甚理解,肯定是错过了一些有用信息的。望勿要见怪啊!

论坛徽章:
0
17 [报告]
发表于 2011-07-25 22:33 |只看该作者
本帖最后由 yhyhh 于 2011-07-26 12:28 编辑

汇报最新进展 & 期待最终解决方案。

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
您查询的手机号码段      1340001 卡号归属地      江苏犖尬?
您查询的手机号码段      1340002 卡号归属地      江苏犖尬?
您查询的手机号码段      1340003 卡号归属地      江苏犖尬?
您查询的手机号码段      1340004 卡号归属地      江苏犖尬?

C:\MyPractice\Perl>


中文编码方式是 “gb2312”

论坛徽章:
0
18 [报告]
发表于 2011-07-25 23:19 |只看该作者
本帖最后由 yhyhh 于 2011-07-26 12:27 编辑

为什么批量执行查询电话号码,会变成这样子的结果呢:

C:\MyPractice\Perl>Test_ipcheck_v5.pl mobilelist_v1.txt
您查询的手机号码段      1340001 卡号归属地      江苏犖尬?
您查询的手机号码段      1340002 卡号归属地      江苏犖尬?
您查询的手机号码段      1340003 卡号归属地      江苏犖尬?
您查询的手机号码段      1340004 卡号归属地      江苏犖尬?
您查询的手机号码段      1340005 卡号归属地      江苏犇暇?
您查询的手机号码段      1340006 卡号归属地      江苏犇暇?
您查询的手机号码段      1340007 卡号归属地      江苏犇暇?
您查询的手机号码段      1340008 卡号归属地      江苏犝蚪?
您查询的手机号码段      1340009 卡号归属地      江苏犝蚪?
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
10.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
10.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
10.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
10.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
11.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
11.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
11.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
11.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
12.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
12.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
12.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
12.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
13.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
13.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
13.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
13.

Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
14.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 31, <FILE> line
14.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
14.
Use of uninitialized value in concatenation (.) or string at C:\MyPractice\Perl\Test_ipcheck_v5.pl line 32, <FILE> line
14.


mobilelist_v1.txt 文件内容为:

1340001
1340002
1340003
1340004
1340005
1340006
1340007
1340008
1340009
1340010
1340011
1340012
1340013
1340014
1340015
1340016
1340017
1340018
1340019
1340020

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
19 [报告]
发表于 2011-07-26 04:24 |只看该作者
选择了 Perl,却不懂得如何安装 CPAN 模块,这到底有没有正儿八经把 Perl 党走吃饭的家伙对待呀?

一个一个下载下来 copy 到 lib 目录,你可真有才。随便一本书上都有讲怎么安装 Perl 模块的。

还是先端正态度吧。你不好好学 Perl,Perl 就不会让你爽。

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
20 [报告]
发表于 2011-07-26 09:19 |只看该作者
知道用 search.cpan.org 却不知道用 CPAN 命令的人才啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP