【发布时间】:2012-10-16 09:37:55
【问题描述】:
我是 Perl 的 100% 新手,但确实有一些 PHP 知识。我正在尝试创建一个快速脚本,该脚本将采用 @url 变量并将其保存到 .txt 文件中。我遇到的问题是每次遍历循环时都会再次保存 url,这非常烦人。所以当循环运行时,它看起来像这样。
url1.com
url1.com url2.com
url1.com url2.com url3.com
我希望它看起来很简单:
url1.com
url2.com
url3.com
这是我的代码。如果有人可以提供帮助,我将非常感激!
#!/usr/bin/perl
use strict;
use warnings;
my $file = "data.rdf.u8";
my @urls;
open(my $fh, "<", $file) or die "Unable to open $file\n";
while (my $line = <$fh>) {
if ($line =~ m/<(?:ExternalPage about|link r:resource)="([^\"]+)"\/?>/) {
push @urls, $1;
}
open (FH, ">>my_urls.txt") or die "$!";
print FH "@urls ";
close(FH);
}
close $fh;
【问题讨论】:
-
在格式正确的
open上做得很好,带有die异常,但是将 OS 错误 变量合并到die字符串中非常有用解释失败的原因。另外,如果你省略了die字符串末尾的换行符,那么 Perl 将添加上下文信息来说明异常发生在哪个源文件中
标签: perl loops while-loop