ocehb: (Default)
[personal profile] ocehb

#! perl

use LWP::UserAgent
use Try::Tiny

my $chunk;
try { new LWP::UserAgent()->get ($url, ':content_cb' => sub { $chunk = $_[0]; die },
                                       ':read_size_hint' => 32); };



однострочник.

# perl -MLWP::UserAgent -le 'try { new LWP::UserAgent()->get ($ARGV[0], \
  '':content_cb'' => sub { print  $_[0]; exit }, '':read_size_hint'' => $ARGV[1]); }' \
  http://www.google.fi/images/srpr/logo2w.png 32 | file -
/dev/stdin: PNG image data, 275 x 95, 8-bit colormap, non-interlaced

Date: 2011-08-01 08:06 pm (UTC)
avysk: (Default)
From: [personal profile] avysk
Изобретаем велосипед?
$ curl -s http://www.google.fi/images/srpr/logo2w.png -r 0-31 | file -
/dev/stdin: PNG image data, 275 x 95, 8-bit colormap, non-interlaced
Не говоря уже о том, что трёхколёсный однострочный велосипед-то не едет в том виде, в котором он приведён (syntax error).

И кстати, документация на LWP говорит, что "However, there is no guarantee that's how big the $data string will actually be. It is merely a hint, which LWP may disregard." То есть это всё безобразие вообще может не работать случайным образом. И, кстати, запускать perl без -w -- дурной тон (см. раздел BUGS в man perl) :-)

Date: 2011-08-01 09:40 pm (UTC)
avysk: (Default)
From: [personal profile] avysk
1. Ага, курла нет, а LWP и Try сами заводятся, от грязи :) cd /usr/ports/где-оно-там-у-них-лежит/curl && make install, не?
1a. Это что, не просто перловые скрипты от рута пускаем, а ещё и ssh рута разрешает? Ой. Или это мимикрия?
2. во-во
3. во-во
4. #! perl кто написал? ;-)

Profile

ocehb: (Default)
ocehb

January 2021

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 6th, 2026 05:39 am
Powered by Dreamwidth Studios