Я пишу скрипт, который анализирует команду "pure-ftpwho -s", чтобы получить список текущих передач.Но когда пользователь отключается от FTP и снова подключается и возобновляет передачу, файл появляется дважды.Я хочу удалить призрака с помощью Perl.После синтаксического анализа вот как выглядит arrayref (сбрасывается с помощью Data :: Dumper)
$VAR1 = [
{
'status' => 'DL',
'percent' => '20',
'speed' => '10',
'file' => 'somefile.txt',
'user' => 'user1',
'size' => '14648'
},
{
'status' => 'DL',
'percent' => '63',
'speed' => '11',
'file' => 'somefile.txt',
'user' => 'user1',
'size' => '14648'
},
{
'status' => 'DL',
'percent' => '16',
'speed' => '60',
'file' => 'somefile.txt',
'user' => 'user2',
'size' => '14648'
}
];
Здесь user1 и user2 загружают один и тот же файл, но user1 появляется дважды, потому что первый - «призрак»,Какой лучший способ проверить и удалить ненужные мне элементы (в данном случае первый элемент arrayref).Необходимо проверить следующее: если ключ «файл» и ключ «пользователь» совпадают, удалите хеш-код, содержащий меньшее значение ключа «процент» (если они одинаковы, то удалите все, кроме одного).