Это часть моего входного Genbank файла:
LOCUS AC_000005 34125 bp DNA linear VRL 03-OCT-2005
DEFINITION Human adenovirus type 12, complete genome.
ACCESSION AC_000005 BK000405
VERSION AC_000005.1 GI:56160436
KEYWORDS .
SOURCE Human adenovirus type 12
ORGANISM Human adenovirus type 12
Viruses; dsDNA viruses, no RNA stage; Adenoviridae; Mastadenovirus.
REFERENCE 1 (bases 1 to 34125)
AUTHORS Davison,A.J., Benko,M. and Harrach,B.
TITLE Genetic content and evolution of adenoviruses
JOURNAL J. Gen. Virol. 84 (Pt 11), 2895-2908 (2003)
PUBMED 14573794
И я хочу, чтобы извлечь название журнала, например, J. Gen. Virol. (не включая номер выпуска и страницы)
Это мой код, и он не дает никаких результатов, поэтому мне интересно, что происходит не так. Я использовал круглые скобки для $ 1, $ 2 и т. Д. И хотя это сработало, мой преподаватель сказал мне попробовать, не используя этот метод, вместо этого используйте substr.
foreach my $line (@lines) {
if ($line =~ m/JOURNAL/g) {
$journal_line = $line;
$character = substr($line, $index, 2);
if ($character =~ m/\s\d/) {
print substr($line, 12, $index - 13);
print "\n";
}
$index++;
}
}
Что вы имеете в виду "без использования переменных памяти"? – asjo