【发布时间】:2014-04-10 11:22:13
【问题描述】:
好的,所以我有另一个问题需要帮助,我需要使用 perl 在 txt 文件中收集地址,我有一个地方可以从文件中的每张票中获取地址。我的问题是地址延伸的多行。我可以让它抓住第一行,但无论我做什么,它都不会抓住下一行。
示例文本文件
NAME Sprinkle, Jonathan U ADDRESS 16887 36 St NW
Calgary, AB T8O 0B0
带有公寓的示例文本文件
NAME Nguyen, Michael S ADDRESS 100A
8447 149 Ave NW
Sherwood Park, AB T6J 0Z0
我需要能够处理带有公寓号码的地址和没有公寓号码的房子
到目前为止我的代码(这个只能抓取第一行):
if (/ADDRESS/){
my @arr = /ADDRESS\s*\S*\s\S*\s\S*\s\S*\s*\n\s*\S*/g or next;
print "$_\n" for @arr;
}
这给出的输出是:
ADDRESS 16887 36 St NW
然后它在这里打印一个换行符,没有其余信息
【问题讨论】:
-
考虑激活
/s或/m标签 -
我尝试添加 /m 但是当我这样做时,它打印出来的唯一内容是“1”@sshashank124
-
@Mitchk 请尝试使用格式化工具使您的帖子更具吸引力和整洁
-
@HamZa 在我注意到它看起来有多丑之后,我一直试图弄清楚如何使用它们。