Как записать одну разобранную строку в абзац? - PullRequest
0 голосов
/ 26 июля 2011

Я извлек абзац, используя XML :: Simple parser.Я получил это в одной строке.Вот код и я извлек реферат.

use LWP::Simple;
use XML::Simple;
use Data::Dumper;

open (FH, ">:utf8","xmlparsed2.txt");
my $db1 = "pubmed";
my $q = 16404398;
my $xml = new XML::Simple;
$urlxml = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=$db1&id=$q&retmode=xml&rettype=abstract";
$dataxml = get($urlxml);
$data = $xml->XMLin("$dataxml", ForceArray => [qw( MeshHeading Author AbstractText )], ForceContent=>1);
print FH Dumper($data);
print FH "Abstract: ".join "\n", map {join ":",($_->{NlmCategory},$_->{content})} @{$data->{PubmedArticle}->{MedlineCitation}->{Article}->{Abstract}->{AbstractText}};

Мой вопрос: можно ли его проанализировать, чтобы он соответствовал окну и был в абзаце, а не в одной строке?

1 Ответ

6 голосов
/ 26 июля 2011

Мой вопрос: можно ли его проанализировать по размеру окна

Итак вопрос 1, как определить размер окна терминала

Ответ используется

use Term::Size;

($columns, $rows) = Term::Size::chars *STDOUT{IO};
($x, $y) = Term::Size::pixels;

и быть в абзаце, а не в одной строке?

для вопроса 2 используйте основной модуль Text :: Wrap или Text :: Fold ...

...