我有一个文件output1.txt,每行一个字符串。我想提取包含子字符串'rxd'或'txd'或'cts'或'rts'以及' UART '的字符串,该字符串应该与这些字符串中的任何四个一起存在于字符串中,然后将其写回output1.txt,但是运行此代码后出现空白文件。
#!/usr/local/bin/perl
use strict;
use warnings;
my @array1;
open my $abc , '<', 'output1.txt' or die $!;
my @array = <$abc>;
foreach $_ (@array) {
my @array1 = grep {
( /txd/ || /rxd/ || /cts/ || /rts/ ) && ( /_UART_/ )
} (@array);
}
close $abc;
open my $f1 , '>', 'output1.txt' or die $!;
foreach (@array1) {
print $f1 "$_\n";
}
close $f1;
在中my @array1 = grep ...
,取出my
。您要在foreach循环内声明一个新 @array1
的循环,该循环外不存在,而原始循环@array1
保持空白。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句