
Запуск web-сервера из командной строки
Запуск статического web-сервера из командной строки для содержимого папки.
Запуск статического web-сервера из командной строки для содержимого папки.
Описание основных проблем и их решения
Полезный код из книжки Mark Jason Dominius "Higher-Order Perl. Transforming Programs with Programs" для работы с папками и файлами. Функция dir_walk обходит все файлы и вложенные папки и вызывает для каждого из них функцию переданную в параметре:
sub dir_walk { my ($top, $filefunc, $dirfunc) = @_; my $DIR; if (-d $top) { my $file; unless (opendir $DIR, $top) { warn "Couldn't open directory top: $!; skipping.\n"; return; } my @results; while ($file = readdir $DIR) { next if $file eq '.' || $file eq '..'; push @results, dir_walk("$top/$file", $filefunc, $dirfunc); } return $dirfunc ? $dirfunc->($top, @results) : () ; } else { return $filefunc ? $filefunc->($top): () ; } }
Примеры (тоже из книжки). Печать файлов и папок:
dir_walk('.', sub{ print $_[0], "\n"}, sub{ print $_[0], "\n"})
Размер файлов и папок:
sub file_size{ -s $_[0] } sub dir_size{ my $dir = shift; my $total = -s $dir; my $n; for $n (@_) {$total += $n} return $total; } my $total=dir_walk('.', \&file_size, \&dir_size);
ВКонтакте появилась авторизация на базе OAuth 2.0: подробности тут.
Старые методы тоже пока работают. Работа с серверными методами по-старому реализована в модуле VKontakte::API, через oauth в новом модуле VKontakte::API::OAuth. Интерфейс у них одинаковый, работают оба (пока?).
use VKontakte::API::OAuth; # было VKontakte::API $vk = VKontakte::API::OAuth->new( $api_id, $secret ); my $data=$vk->sendRequest('getProfiles', {'domains'=>'deevaas'});
По просьбе Yuji Suzuki добавила в модуль VKontakte::API mid и sid. Пользоваться ими можно так:
use VKontakte::API; my $vk = VKontakte::API->new( $api_id, $cgi_query->param('session[secret]'), $cgi_query->param('session[mid]'), $cgi_query->param('session[sid]') );
Скачать тут: http://search.cpan.org/~asdeeva/VKontakte-API-0.02/
P.S. и зачем японцам контакт?