Как я могу видеть запросы к GPG-агенту?

Первый кусок:

my %names;
while (<>) {
    ( my $col1 ) = split / /, $_;
    $names{$col1} = 1;
    last if eof;
}
  • Мы объявляем хэш с именем names.
  • Мы проходим по файловому хэндлу, по одной строке за раз. Этот файловый хэндл <> имеет особое значение в perl - это либо STDIN, либо содержимое файлов, указанных в командной строке. Похоже, что этот код работает только в последнем случае, что, в общем-то, плохо.
  • На каждой итерации цикла $_ устанавливается на текущую строку.
  • $_ разбивается на пробельные символы, что превращает его в массив.
  • my ( $col1 ) является массивом - первый элемент после разбиения присваивается $col1. (Остальные можно присвоить с помощью my ( $col1, $col2, @more_cols ) = ... )
  • Ключ $col1 в хэше names установлен в 1.

Например:

$VAR1 = {
          'c73p1avrsrldo150top' => 1,
          'c73p1avrfusevrmtop' => 1,
          'slic73p1hsicbxttop' => 1
        };

Затем приступаем ко второму файлу:

  while (<>) {
      print if /^(\S+).*/ && not $names{$1};
  }

Начинается с плохого регулярного выражения, которое "просто" захватывает первое слово в строке (в $1). И если $names{$1} не установлен, выведет строку.

Что, учитывая ваши входные данные, просто не будет работать - потому что вы проверяете, присутствует ли Comp в names, а его не будет.

7
18.09.2018, 13:32
1 ответ

Вы можете добавить следующее в gpg -agent.conf (в вашем домашнем каталоге):

--log-file <filename>
0
27.01.2020, 20:20

Теги

Похожие вопросы