【发布时间】:2020-03-23 09:57:18
【问题描述】:
我想检查一个文件的值是否包含在另一个文件中。如果其中一个值包含,它将显示该特定的现有 bin,如果没有,它将显示没有现有的 bin 限制。问题是我不确定如何一次检查所有值。
第一个 DID1 文本文件值包含:
L84A:D:O:M:
L84C:B:E:D:
第二个 DID 文本文件值包含:
L84A:B:E:Q:X:F:i:M:Y:
L84C:B:E:Q:X:F:i:M:Y:
L83A:B:E:Q:X:F:i:M:Y:
如果前 4 个单词的值匹配,则需要检查该行的所有值。 例如,第一个文本文件和第二个文本文件中的 L84A 值具有 M 。它应该打印出有一个现有的 M bin
下面是我的代码:
use strict;
use warnings;
my $filename = 'DID.txt';
my $filename1 = 'DID1.txt';
my $count = 0;
open( FILE2, "<$filename1" )
or die("Could not open log file. $!\n");
while (<FILE2>) {
my ($number) = $_;
chomp($number);
my @values1 = split( ':', $number );
open( FILE, "<$filename" )
or die("Could not open log file. $!\n");
while (<FILE>) {
my ($line) = $_;
chomp($line);
my @values = split( ':', $line );
foreach my $val (@values) {
if ( $val =~ /$values1[0]/ ) {
$count++;
if ( $values[$count] =~ /$values1[$count]/ ) {
print
"Yes ,There is an existing bin & DID\n @values1\n";
}
else {
print "No, There is an existing bin & DID\n";
}
}
}
}
}
我无法检查所有值。请帮忙提供任何建议,因为这是我第一次学习 perl 语言。非常感谢:)
【问题讨论】:
-
恐怕我们很难真正理解您的问题,因为您在没有任何上下文的情况下谈论垃圾箱和垃圾箱限制。
标签: perl