如果我想在此文件中找到USER和PASS字样的所有实例,然后将它们出现的次数分别放入两个变量中,我该如何处理?谢谢!
open MYFILE, '<', 'source_file.txt' or die $!;
open OUTFILE, '>', 'Header.txt' or die $!;
$user = 0;
$pass = 0;
while (<MYFILE>) {
chomp;
my @header = split (' ',$_);
print OUTFILE "$linenum: @header\n\n";
if (/USER/ig) {
$user++;
}
if (/PASS/ig) {
$pass++;
}
}
以上是新代码,它有效。 我将变量设置为0并在变量上使用++ incrementor。 但我仍然愿意接受有关扩展我的正则表达能力的建议吗? (如果这是有道理的)
答案 0 :(得分:2)
你可以这样做。
my $user = 0;
my $pass = 0;
while (<MYFILE>) {
chomp;
my @header = split ' ', $_;
print OUTFILE "$linenum: @header\n\n";
$user++ if /user/ig;
$pass++ if /pass/ig;
}