大头
Table_bottom

标签云
Table_bottom

分类
Table_bottom

日历
十一月
272829303112
3456789
10111213141516
17181920212223
24252627282930
Table_bottom

评论
Table_bottom

留言
Table_bottom

微博
Table_bottom

热门文章
Table_bottom

随机文章
Table_bottom

豆瓣上谁关注这里
Table_bottom

链接
Table_bottom

搜索栏
Table_bottom

RSS
RSS Link
Table_bottom

功能
Table_bottom

页面
Table_bottom

计数器
481625
Table_bottom

访客统计
Table_bottom

存档
Table_bottom

初学Perl之二

loveisbug posted @ 2008年11月08日 04:55 in 娱乐 with tags Perl , 2472 阅读

程序有问题,有关字符串匹配。会用index函数去查找字串,那就能找到正确的行。可是运行总是报错,看不懂报错信息。怀疑是语法错误,却不知道错在哪儿。不像C,编译就排查了语法错误。CSDN上乱翻贴,看到有人推荐一个工具Komodo(下载)。装了后打开我的程序源文件,看到一行波浪线,太好了,这里有问题:

  1. $_ =~ m!>(.*?)</a>;

可是什么问题呢?书上说模式匹配函数(m//)是这样用的:

  1. m/pattern/;

 还说m后的第一个字符是模式分隔符。在一个例子里用!做分隔,我没有正确理解,这是把缺省分隔符(/)换成其他的(!)。因此这样才对:

  1. $_ =~ m!>(.*?)</a>!;

 现在的程序可以跑,但是结果不对。问题还是在这一行。我要取出所需要的字串。哪里不对?应该怎么写?没人可问,继续琢磨。

Barret 说:
2008年11月12日 02:06

应该得到你的结果了啊,从\1得到。

Avatar_small
大头 说:
2008年11月14日 06:29

谢谢关注,新写的“之三”里提到了报错信息和错误的情况。我知道了如何改对,但不知道错在哪。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter