目前我正在学习如何在课程中使用perl
http://www.perl.com/pub/2000/11/begperl3.html
我现在遇到了元字符部分,当我在eclipse中运行代码时,我收到以下错误: 名称“main :: URLLIST”仅使用一次:可能的拼写错误Metacharacters.pl
#!/usr/bin/perl
use strict;
use warnings;
use feature ":5.10";
for my $line (<URLLIST>) {
# "If the line starts with http: and ends with html...."
if (($line =~ /^http:/) and
($line =~ /html$/)) {
say $line;
}
}
请你告诉我为什么会这样。
答案 0 :(得分:1)
您将URLLIST
视为文件句柄,但您从未打开它。只需使用<>
,它将从作为参数传递的文件名读取,或者如果没有提供参数则从STDIN读取。
提示:您应该使用while (my $line = <>)
而不是for my $line (<>)
,因为后者在循环开始之前不必要地将整个文件加载到内存中。