Я очень новичок в Perl.Я прочитал в файле и разделил его на столбцы или «поля».Файл имеет несколько столбцов, но для отслеживания нужно всего 5 конкретных столбцов (назовите их AE).В каждом поле есть определенный тип запроса (Get, Update и т. Д.).Я пытаюсь прочитать в типах запросов и подсчитать, сколько существует каждого типа, но у меня возникают проблемы с разделением каждого конкретного значения.Каков наилучший способ поместить только одно уникальное значение запроса в массив (без повторения) и подсчитать количество вхождений?
Ввод файла выглядит примерно так:
65739483|test|Add|54758|Update|1443|Add|||||testing||||...
65739483|test|Delete|54758|Add|1443|Get|||||test2||||...
Это то, что у меня есть до сих пор.
....
My @fields = split(/\|/, $line);
my $a_column = $fields [2];
my $b_column = $fields [4];
my $c_column = $fields [6];
my $d_column = $fields [8];
my $e_column = $fields [10];
my @request_types = ();
foreach my $new_request ($a_column) {
if($new_request && $new_request !~ @request_types) {
push(@request_types, "$new_request");
}
}
....
Когда я запускаю это, он печатает весь столбец, что-то вроде этого.
Add Delete Delete Update Add ...
Я пробовал вложенные циклы, 2d матрицы и т. Д. И не может заставить его работать.Есть ли гораздо более простой способ приблизиться к этому, что я пропускаю?Словари может быть?