如何检查是否定义了变量并使用 perl 正则表达式在数组中搜索两个模式?
$/ = ""; # paragraph mode
__Data__
#SCSI_test # put this line into @arrayNewLines
kdkdkdkdkdkdkdkd
dkdkdkdkdkdkdkdkd
- ccccccccccccccc # put this line into @arrayNewLines
while(<FILEREAD>)
{
chomp;
my @arrayOld = split('\n',$_);
foreach my $i (0 .. $#arrayOld) # using the foreach of index to remove the lines.
{
if($arrayOld[$i] =~ /-(.*)/ || /\#(.*)/)
{
my @arrayNewLines = $arrayOld[$i];
splice @arrayOld,$i,1; # remove lines from arrayOld
print "@arrayNewLines\n";
}
print "@arrayOld\n";
}
}
此代码在将每种类型的 - 或 # 行放入同一 @arrayNewLines 数组时不起作用。它仅适用于第一个 (/-(. )/) 模式,不适用于第二个 (/#(. )/)。我需要它来搜索两种模式并定义 $arrayOld[i] 变量以防止使用 uninitilize 消息。我想定义