У меня есть файл с отметками времени в формате 10:24:23 то, что я пытаюсь сделать, это разделить эти временные метки, но удалять новые строковые символы после раскола. Желаемый результат я хочу, 102423, однако, что я в настоящее время получаю: 10 \ n24 \ n23 \ пудаление символа новой строки после команды split
это сценарий я бегу:
#!/usr/bin/perl
use warnings;
use strict;
my $cmd = `cat test.txt |awk {'print \$2')`;
my @array = $cmd;
my @values = split(':', $cmd);
print @values;
for (@values) {
chomp $_;
if ($_ == 102423) {
print "Hello\n";
}
}
когда Я распечатываю массив @values, я вижу то, что хочу, '102423' Однако, когда я пытаюсь сравнить if
, я получаю сообщение об ошибке, указывающее, что моя переменная не является числовой. Ошибка показывает следующее: «10 \ n24 \ n23 не является числовым»
спасибо, что нашли время Cheers.
большое спасибо! который решил мою проблему :) – user3821215
теперь мне нужно сравнить первые две метки времени в массиве, чтобы узнать, сколько секунд прошло между двумя строками журнала. пример: линии одного из массива: 102423 линии два массива: 102425 для (@array) { , если ($ _ + 5 <= линии два из массива) { печати "AHHH BruteForce" } } Я не ожидаю, что меня помажут ложкой. Я в порядке с чтением себя, но некоторые рекомендации будут оценены, поскольку я новичок в perl. c – user3821215
@ user3821215: Это усложняет ситуацию. Вы должны начать новый вопрос. – choroba