Как лучше сделать?
Надо скачать с помощью curl или wget страницу и не сохраняя на диск присвоить одной
переменной значение текста после одного слова до другого, а второй - значение из другой части текста не сохраняя на диск и не скачивая два раза.
Например:</td><td>В 03:00 было -4.5°C, облачность 7-8 баллов, влажность 86%, ветер С, 2 м/с <a href='/archive.php?wmo_id=34003&lang
бла-бла-бла
<td colspan=2 class=d><img src="/img/cd4.gif" title="обл...Надо: X="-4.5°C, облачность 7-8 баллов, влажность 86%, ветер С, 2 м/с", Y="cd4.gif".
Если при скачивании страницы, результат выводится в stdout (у wget есть ключик -O -), то можно его сохранить в переменной.
> Как лучше сделать?
> Надо скачать с помощью curl или wget страницу и не сохраняя на
> диск присвоить одной
> переменной значение текста после одного слова до другого, а второй - значение
> из другой части текста не сохраняя на диск и не скачивая
> два раза.можно действительно с помощью sh+wget+awk/sed, но геморройно:
array=( $(wget -O - .... | awk или sed ...) )
предполагается, что последовательность в $() выдаст два строковых значения в кавычках, потом () растащит их по элементам массива.
Но вообще-то для этого Perl придумали:
use LWP::Simple;
my $url = 'адрес откуда тащить';
my $page= get $url;
die 'Не получилось' unless defined $page;my ($X, $Y);
$X = $1 if ($page =~ m#<td>\S+\s+\S+\s+\S+\s+(.+)<a href='/archive.php?wmo_id=34003#o);
$Y = $1 if ($page =~ m#<td colspan=2 class=d><img src="/img/([^"]+)" title="#o);