Написал скриптик который из файла коиентов выводит по ним стату но не пойму как убрать эти строки из файла в который выводится. HTTP/1.1 200 OK Connection: close Date: Wed, 02 Jul 2008 12:42:54 GMT Server: Apache Content-Type: text/plain; charset=KOI8-R Client-Date: Wed, 02 Jul 2008 12:39:06 GMT Client-Peer: 217.119.16.91:80 Client-Response-Num: 1 Client-Transfer-Encoding: chunked как от нх извабиться? и можно ли сменить кодировку когда выводим в файл? вот скрипт #!/usr/bin/perl use strict; use LWP::UserAgent; my $ua = LWP::UserAgent->new; open my $FILE, '<', 'clients.txt' or die "Open error: $!\n"; my @f = <$FILE>; chomp @f; close $FILE; foreach my $name(@f) { my $req = $ua->get("http://site/cgi-bin/trstat.pl?code=$name&month=2008-06")->as_string; open OUT, '>',$name.'.txt'; print OUT $req; close OUT; }
Насчет кодировки use Encode qw/encode decode/; потом print FILE decode('KOI8-R',$req); А чтобы вытаскивать только то что тебе нужно используй регулярки
svesve, попробуй без хедеров так: Code: #!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; use HTTP::Request; my $ua = LWP::UserAgent->new; open my $FILE, '<', 'clients.txt' or die "Open error: $!\n"; my @f = <$FILE>; chomp @f; close $FILE; my ($req, $res, $content, $OUT); my $url = 'http://site/cgi-bin/trstat.pl'; foreach my $name(@f) { $req = HTTP::Request->new (GET => $url . "?code=$name&month=2008-06"); $req->content_type ('text/html'); $res = $ua->request ($req); die "Can't get url $url: " . $res->status_line . "\n" unless $res->is_success; $content = $res->content; # тут, если нужно, производится парсинг полученного результата open $OUT, '>', $name . '.txt'; print $OUT $content; close $OUT; }
во теперь робит все ) спс единственно когда кодировку в коцне перевожу ругается на что то(Wide character in print at test.pl line 24.) но это фигня главное работает ))
Теперь такой вопрос я хочу передать через форму параметр скрипту тобишь чтоб каждый раз не лазить менять date хотелось бы его передать через форму подскажите как будет это выглядеть?
"чтобы правильно задать вопрос, надо знать половину ответа" .... правильно выражать свои мысли тоже целая наука , перефразируй - с расстановкой запятых.А то не чего непонятно , чёрт ногу сломает. помогу чем смогу xD
Code: my $f; open FILE ,'file.txt' or die $!; { local $/ = undef; $f = <FILE>; } close FILE; $f - скаляр в котором содержание файла 'file.txt'
Всем привет. У меня такой вот вопросик.. Для того, чтобы добавить новый crontab - я создаю новый файл формата кронтаба, и теперь нужно запустить "CRONTAB /path.../myfile". Так вот - так запустить/выполнить любую команду в PHP?? Пробовал system() иexec(), но они почему-то не работают..
Помогите решить такую задачу есть скрипт обрабатывающий статистику все это дело крутиться на IIS он из файла берет данные клиентов и собирает статистику по ним.иногда бывают такие клиенты для обработки которых надо более чем 5 минут..возможно ли в данном скрипте реализовать пропуск таких клиентов? тобишь таймаут сделать?! Code: #!/usr/bin/perl -w use strict; use warnings; use LWP::UserAgent; use HTTP::Request; use Encode qw/encode decode/; print "content-type: text/html \n\n"; my $query = $ENV{QUERY_STRING}; my $ua = LWP::UserAgent->new; my ($req, $res, $content, $OUT); my $url = 'http://site/cgi-bin/trstat.pl'; my $post=$ENV{'QUERY_STRING'}; open my $FILE, '<', '/inetpub/wwwroot/cl/clients.txt' or die "Open error: $!\n"; my @f = <$FILE>; chomp @f; close $FILE; foreach my $name(@f) { $req = HTTP::Request->new (GET => $url . "?code=$name&month" .$post); $req->content_type ('text/html'); $res = $ua->request ($req); die "Can't get url $url: " . $res->status_line . "\n" unless $res->is_success; $content = $res->content; open $OUT, '>','/inetpub/wwwroot/cl/res/' . $name.''.$post. '.txt'; print $OUT decode('KOI8-U',$content); close $OUT; } print "Все готово,чтобы посмотреть отчеты нажмите <a href=http://192.168.100.211/cl/res/>сюда</a>";
Народ,такая ошибка вот : C:\>suka.pl "" is not exported by the Socket module Can't continue after import errors at C:/Perl/lib/IO/Socket.pm line 36 BEGIN failed--compilation aborted at C:\suka.pl line 5. suka.pl (Исполняемый фаил :ДДД). Сам код скрипта такой: #! /usr/bin/perl use IO::Socket my $server = shift; my $fh = IO::Socket::INET->new($server); my $line = <$fh>; print $line; Только начинаю программировать,вот . Юзаю последнюю версию интерпретатора ActivePerl на Windows XP Professional )
2 ZET36 вопрос весьма серьёзный xD Code: $ perl -e '@a = ('a'..'z');print @a,"\n"' abcdefghijklmnopqrstuvwxyz $ 2 Велемир Code: use IO::Socket[COLOR=Red];[/COLOR]
demonoid Извени я неправильно поставил вопрос я имел ввиду преобразовать все значения массива в один скаляр, уже нашол решение через join (), но всёравно спасибо