Создать модуль для 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
Читать пост целиком »

IMAP и POP Gmail через telnet или читать почту это просто

В этом нет ничего сложного — правда! Фактически — написать свой почтовик — проще простого. Так же просто как и читать почту через консоль.

Далее — две маленькие статьи на живых примерах — как пользоваться POP3 и IMAP без почтового клиента.

Читаем POP3

Читать пост целиком »

Самая эффективная защита от парсинга

Самая эффективная зашита от парсинга (то есть защита от парсинга — я кстати вылез в топ гугл по запросу этому) — у сайта film.ru . Они просто отключили сайт когда я их начал парсить.

Развожу руками.

Google Maps — статичная картинка gif

Копал-копал и нашёл как сделать Google Maps статичной картинкой.

Поддерживается до 640×640, формат — .gif

Ссылка вида http://maps.google.com/staticmap?center=Координаты&zoom=Зум&size=ШиринаxВысота&markers=Координаты маркера по желанию

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

Хозяйке на заметку:

Два+ пробела заменяются не так:

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; print Dumper $x'
$VAR1 = 'abc bca
abc bca';

Читать пост целиком »

Зачем мне холодильник если я не курю?

зачем мне холодильник если я не курю

Купить баллы малина

Нет, правда — это тест НЧ!

купить баллы малина дёшево

Вы знаете где купить баллы малина ? Я вот не знаю где можно купить баллы малина.

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

#! /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} — у меня, соответственно, ljdomsess.skazo4nik

Читать пост целиком »