我有兩個文本文件。我將每個文件導入到一個數組中。 numbers數組中的每個值都應該搜索users數組以獲得其匹配。如果發現回聲匹配線和前進線。取出一組電話號碼並搜索另一個陣列以查找每個匹配的數字,然後打印該匹配的行和以下行
因此,如果numbers數組中的第一個條目是1234,則搜索用戶數組爲1234.如果找到,則打印該行和下一個。
numbers.txt樣子:
1234567021
1234566792
用戶filelooks像:
[email protected] User-Password == "secret"
Framed-IP-Address = 000.000.000.000,
我到目前爲止有:
use strict;
my $users_file = "users";
my $numbers_file = "numbers.txt";
my $phonenumber;
my $numbers;
#### Place phone number into an array ####
open (RESULTS, $numbers_file) or die "Unable to open file: $users_file\n$!";
my @numbers;
@numbers = <NUMBER_RESULTS>;
close(NUMBER_RESULTS);
#### Place users file contents into an array ####
open (RESULTS, $users_file) or die "Unable to open file: $users_file\n$!";
my @users_data;
@users_data = <RESULTS>;
close(RESULTS);
#### Search the array for the string ####
foreach $numbers(@users_data) {
if (index($numbers,$phonenumber) ge 0) {
my @list = grep /\b$numbers\b/, @users_data;
chomp @list;
print "$_\n" foreach @list;
}
}
exit 1;
'格格@numbers;'和'格格@users_data;''你循環foreach'之前。 – toolic
您已經爲打印內容給出了2個不同的要求。在比賽結束後,你可以在一個地方說出**。在另一個地方,你在**之前說**。這是什麼? – Degustaf
匹配的行和匹配後的行 –