Я пытаюсь распечатать каждую строку из файла, если они содержат один символ в определенной позиции, чтобы начать с этого символа «+», но я буду запускать ту же программу, -». Код работает, но не предоставляет вывод, я уверен, что это очень простая ошибка, поскольку я проверил регулярное выражение и это работает!Соответствует определенному символу, распечатайте, если найдено
FILE1 данных:
3628 -a
9712 +T
11004 -a
11379 -a
12715 +T
14184 +T
Выходные:
9712 +T
12715 +T
14184 +T
Код:
#!/usr/bin/perl
use strict;
use warnings;
use autodie;
my $outputfile = "/Users/edwardtickle/Documents/indelfinal.txt";
open FILE1, "/Users/edwardtickle/Documents/indelcount.txt";
open (OUTPUTFILE, ">$outputfile");
while (<FILE1>) {
if (/^(\d+)\s+(\S)(\S)/) {
if ($2 =~ m/'+'/) {
print OUTPUTFILE "$1 $2$3\n";
}
}
}
close FILE1;
close OUTPUTFILE;
Ура!
Это блестяще, спасибо за быстрое решение! –