我正在努力实现这一目标:
此脚本应读取当前目录并打印以消息开头的任何文件的内容,并且可能后跟句点和数字。
opendir(CURRENT, ".");
@message_file = grep(/message(\.\d+)?/, readdir (CURRENT));
closedir(CURRENT);
foreach $message_file (@message_file) {
open (FILE, $message_file);
while(<FILE>){
print;
}
close(FILE);
}
我的代码仍打印出message.txt
等文件。我试图找出正确的语法,不包括这样的文件,只有那些有句号和数字的文件。
有什么想法吗?
感谢。
答案 0 :(得分:3)
我试图弄清楚正确的语法,不包括那些文件,只包含句点和数字之后的文件。
您可以使用此否定前瞻基于正则表达式:
/^message(?!\.\D)/
(?!\.\D)
表示如果messages
后跟一个点和非数字,则匹配失败。^
作为开始