请教提取指定内容的方法

请教提取指定内容的方法

在下面一行字符串中,要求分别提取“MOD:”、“LEV:”、“ID:”、“TIME:”后的内容出来,得出以下结果:(EXEC,warning,1411000,09:18:33 01/06/2009)

QUOTE:
MOD:EXEC     LEV:warning ID:1411000  TIME:09:18:33 01/06/2009

$_ = 'MOD:EXEC     LEV:warning ID:1411000  TIME:09:18:33 01/06/2009';

my @t = /MOD:(\w+)\s+LEV:(\w+)\s+ID:(\d+)\s+TIME:(.*)/;

print "$_ \n" for @t;
正则的列表环境,用的好
噢,太奇妙了,还以为要写一大堆代码呢,惭愧,看来要好好学习了!

谢谢!
新手也写一个练练

[Copy to clipboard] [ - ]
CODE:
$_ = 'MOD:EXEC     LEV:warning ID:1411000  TIME:09:18:33 01/06/2009';
print split /[\s]*[\w]*?[\D]:/,;

请教,2楼的for是什么意思?


QUOTE:
原帖由 finixlei 于 2009-1-7 16:22 发表
请教,2楼的for是什么意思?

foreach

perldoc perlsyn

QUOTE:
The "foreach" keyword is actually a synonym for the "for" keyword, so you can use "foreach" for readability or "for" for brevity.



QUOTE:
原帖由 finixlei 于 2009-1-7 16:22 发表
请教,2楼的for是什么意思?



[Copy to clipboard] [ - ]
CODE:
print "$_ \n" for @t;



[Copy to clipboard] [ - ]
CODE:
for (@t) {
    print "$_\n";
}

是一个意思。


QUOTE:
原帖由 ynchnluiti 于 2009-1-7 17:03 发表

foreach

perldoc perlsyn

后置的 for 这种用法是在 perlsyn 的 Statement Modifiers 里面描述的。


QUOTE:
原帖由 MMMIX 于 2009-1-7 17:39 发表

后置的 for 这种用法是在 perlsyn 的 Statement Modifiers 里面描述的。

我看没看到呢