PERL. Бот для Твиттера

Возможно вы не правильно его устанавливали надо устанавливать через cpan
открыаешь
Пуск > Все программы > к примеру у меня установлин strawbery интерпритатор ну или Aktivestate > там будет Client Cpan открываешь в командной строке пишешь install Net::Twitter и ждешь пока не закончится установка у меня все установилось все в порядке

установил. дальше что? запускаю скрипт с помощью strawberry/perl/bin/perl5.10.1.exe или strawberry/perl/bin/perl.exe, просто черный экран. в браузере если открыть то тоже пустая страница
 
установил. дальше что? запускаю скрипт с помощью strawberry/perl/bin/perl5.10.1.exe или strawberry/perl/bin/perl.exe, просто черный экран. в браузере если открыть то тоже пустая страница
зачем браузер, запускайте из командной строки.
пуск> выполнить> в командной строке perl c:\путь к каталогу без русcких букв и пробелов\skript.pl или как там называется ваш скрипт называется
ошибок быть не должно попробуйте скопировать код и вставить его в Padre у вас надеюсь strawbery + Padre включите вид >> проверка синтаксиса >> не где не должно быть ошибки запустите и выложите сюда код ошибки если она будет, перед запускокм включите вывод там галочку где вид>> show errors поставьте
так же возможно ты не установил модуль он долго устанавливается минут 20
на крайней случай могу скомпилировать уже готовый .exe файл но это как освобожусь сейчас занят
но понадобится твои данные, твинтер вот эти

 
зачем браузер, запускайте из командной строки.
пуск> выполнить> в командной строке perl...



Спасибо большое за подробный ответ.
Значит так:
strawbery + Padre у меня стоит.
Padre ошибок не показал в скрипте.
Net::TWITTER тоже усстановил. (В конце установки написало ОК)
запускаю, как Вы говорили, perl c:\tbot\tweet.pl

cannot open at c:\tbot\tweet.pl line 20

а двадцатая строка это
open (S,$path.'t_conf.txt') || die 'cant open';

ага, необходимо было еще указать путь к скрипту my $path='C:/tbot/';
 
файлы .txt нужно создать и поместить их в одну дирикторию вместо там где ваш скрипт.
 
файлы .txt нужно создать и поместить их в одну дирикторию вместо там где ваш скрипт.

да да, так и сделал.
еще раз большое спасибо. очень помогли Ваши инструкции.
 
Столкнулся с проблемой:
если искать с помощью данного скрипта пользователей по русским ключевым словам, то ничего не находит.
Код:
my $r = $mt->search({q=>'аллергия',since_id=>$conf[0],rpp=>100});
Это потому что запрос в твиттер приходит в виде:
Код:
%D0%B0%D0%BB%D0%BB%D0%B5%D1%80%D0%B3%D0%B8%D1%8F

насколько я понимаю, нужно нормализировать строку.
в php есть класс Normalizer.
есть ли аналоги этого класса в PERL?
 
Код:
%D0%B0%D0%BB%D0%BB%D0%B5%D1%80%D0%B3%D0%B8%D1%8F
насколько я понимаю, нужно нормализировать строку.
в php есть класс Normalizer.
есть ли аналоги этого класса в PERL?
Я сам новичек но это вроде обычное шифрование при передачи параметров методом GET все что отличается от латинских букв приобразовывается в 16тиричные значения.
С помощью функции hex() можно преобразовать эти шеснадцеричные значения в десятичные, а затем получить символьные значения при помощи функции pack()
C помощью оперетора s/// заменить все вхождения последовательностей
%nn на соответствующие символы
пример
Код:
$value =~ s/%(..)/pack("C", hex($1))/eg;
Вот что удалось на гуглить
 
Код:
$value =~ s/%(..)/pack("C", hex($1))/eg;
Вот что удалось на гуглить

не много не понял, если честно.
подобные примеры нашел. например вот
Код:
#!/usr/bin/perl

$buffer = "$ENV{'QUERY_STRING'}";
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<([^>]|\n)*>//g;
$FORM{$name} = $value;
}

здесь строка
Код:
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

не понятно какие именно данные здесь шифруются???
 
Назад
Сверху