我有一个perl块,应该从静态文件中读取IRC主机掩码,权限级别和注释。在Perl(我是认证的新手)和正则表达式之间,我在创建文件时遇到了一些麻烦。
sub read_users {
@users = ();
open CONFIG, "<", "users";
while (my $line = <CONFIG>)
{
next if $line =~ /^\s*#/;
my ($mask, $level, $comment) = split /\s+/, $line, 3;
push @users, [$mask, $level];
}
close CONFIG;
}
目前该文件为:
<CONFIG>
irc.hostmask.goes.here 500 comment
那不行。我看到它在哪里提到用户这个词,而正则表达式省略了空格。我对此抱怨不已,尝试了各种配方而没有运气。有什么想法吗?
答案 0 :(得分:3)
文件的每一行必须是:
#
和任意文本组成 <CONFIG>
不是有效行;表达式my $line = <CONFIG>
只读取CONFIG
文件句柄中的一行并将其存储在$line
中,而while
会导致重复此行,直到<CONFIG>
返回false值(通常undef
在文件结尾处。)