Быстрая фильтрация хэшей perl-хэшей

У меня есть perl-хэш хэшей, подобный следующему:

$VAR1 = {
          'ID_1' => {
                           'FILE_B' => '/path/to/file/file1',
                           'FILE_C' => '/path/to/file/file2',
                           'FILE_A' => '/path/to/file/file3'
                         },
          'ID_2' => {
                           'FILE_B' => '/path/to/file/file4',
                           'FILE_A' => '/path/to/file/file5'
                         },
          'ID_3' => {
                           'FILE_B' => '/path/to/file/file6',
                           'FILE_A' => '/path/to/file/file7'
                         }
          ...                       
}

Я хотел бы получить список всех ключей члены в основном хеше, которые имеют FILE_C . В этом примере это вернет только ID_1 .

Я знаю, как сделать это в громоздком цикле (перебирая все ключи, проверяя, определено ли FILE_C , если это так - нажатие клавиши в массиве, наконец, возвращение этого массива), но у меня есть ощущение, что для этого есть однострочная или даже функция…

6
задан Greg Bacon 6 September 2010 в 11:56
поделиться