Архив ‘perl’

Любимая функция для получения контента

Таскаю за собой по всем модулям и скриптам. sub getURL {   my $params = shift;   croak q[HASH needed as param] if ref ($params) ne 'HASH';   croak q[HREF needed in HASH] if (!exists ($params->{href}));   $params->{href} = q[http://].$params->{href} if $params->{href} !~ /^http (s)?:\/\//;   $params->{headers} = 0 if !$params->{headers};   $params->{ag} = qq ($user_agents[rand(($#user_agents+1))]) if !exists $params->{ag};   $params->{timeout} = […]

Создать модуль для CPAN

Скорее для себя, чтобы не забыть $ cd /path/to/dev/folder/ $ h2xs -b 5.8.8 -AX Foo::Bar -v 1.00 Writing Foo-Bar/lib/Foo/Bar.pm Writing Foo-Bar/Makefile.PL Writing Foo-Bar/README Writing Foo-Bar/t/Foo-Bar.t Writing Foo-Bar/Changes Writing Foo-Bar/MANIFEST

Заменить пробелы регуляркой

Хозяйке на заметку: Два+ пробела заменяются не так: perl -le 'use Data::Dumper; my $x = «abc bca \n \t abc bca»; $x =~ s/\s{2,}/ /g; print Dumper $x' $VAR1 = 'abc bca abc bca'; Два+ пробела заменяются так: perl -le 'use Data::Dumper; my $x = «abc bca \n \t abc bca»; $x =~ s/[[:blank:]]{2,}/ /g; […]

Простейший пример веб-сервиса без веб-сервера

#! /usr/bin/perl -w use strict; use Socket; my $port = shift || 82; my $proto = getprotobyname ('tcp'); socket (SERVER, PF_INET, SOCK_STREAM, $proto) or die «socket: $!»; setsockopt (SERVER, SOL_SOCKET, SO_REUSEADDR, 1) or die «setsock: $!»;

Симулятор активной работы или Matrix — Just for fun

#!/usr/bin/perl -w use strict; use Term::ANSIColor; use Time::HiRes qw[usleep]; if (defined ($ARGV[0]) && $ARGV[0]!~/^\d+$/){ print color 'reset'; exit; } my $num = 2000; # сколько раз крутить my $strlen = 20; # длина строки my $length = 10000; # чем больше — тем дольше будет «вычисляться» строка

Логин в ЖЖ через HTTP

Для одной мерзкой цели потребовалось ходить в ЖЖ через HTTP — так удобней парсить некоторые вещи. Собственно, сниппет под катом. Пара слов о куках. Мне стало уже лениво писать под них лишние регулярки — но список их следующий: ljuniq ljmastersession ljloggedin BMLschemepref (схема кстати — кому хочется обратно dystopia — просто смените эту куку) langpref ljsession ljdomsess.{username} — у меня, […]

Немножко подфиксил бота для Твит-PR

Вызывается с параметром тег [сколько записей смотреть на предмет твиттерчан, по умолчанию 100] Типа perl script.pl followfriday 80 — пролистает 80 последних записей ленты и вычленит из них все встречающиеся ники, которые потом поделит на посты до 140 символов. Запись в кроне, соответственно — # пятница 10 16 * * 5 perl script.pl followfriday # понедельник […]

FollowFriday для Twitter

Цель скрипта проста — он берёт последние 50 записей, выдирает оттуда твиттерчан и постит их ники под тегом #followfriday ) #!/usr/bin/perl -w use strict; use WWW::Curl::Easy; use Data::Dumper; use URI::Escape;

Скрипт логина Вконтакте на Perl

НЕРАБОЧИЙ — Рабочий логин вконтакте выложил тут — http://www.skazkin.ru/p/novyj-login-vkontakte-perl-curl.html#comments Пример использования: my $cookies = getLogin({login=>q[user@email.ru],password=>q[123456]}); В результате получаем или ссылку на массив с куками, которые мы потом можем использовать для логина, или же undef. Под катом сам сниппет.

Принцип апельсина

Только что придумал как воплотить в слова то, что знаю давно. Принцип апельсина заключается в следующем: Предположим, что у нас есть команда из 6 человек. Есть апельсин без кожуры. В нём 6 долек. Цель — максимально быстро сожрать апельсин. Каждый член команды обязан съесть по дольке апельсина.

Страница 2 из 3123