Home > Perl Archive

[ << < 4  5  6  7  8  9  10  11  12  13  14 >> ]

Perl Archive

ftp.cpan.jp はいつもつながらない

未来の自分宛のメモ。なんか理由はあるんだろうけれど、理由をさぐるのも面倒なので $CPAN::Config->{urllist} の先頭に

q[ftp://core.ring.gr.jp/pub/lang/perl/CPAN/]

追加

ActivePerl ならでは

モノを知らないというのは恐ろしいもので、

  1. ActivePerl =単なる Windows 用 Perl としか考えていなかった
    • なので、Cygwin で Perl 使うことはあっても、ActivePerl にはまじめにとりくんだことがなかった
  2. どうやら language = perlscript とすることで、javascript みたく使えるらしい
  3. なら、javascript みたいなメソッド実装したら、使いやすいんじゃね?
  4. すでにある orz

何ひとつ作る必要がなかった。強いて言えば、自分が使いやすいようにするラッパくらいかな。

つうか、Windows も Perl/Ruby/Python/PHP 標準搭載してくれればいいのに、と思った。全部じゃなくてもいいけど、ここはひとつ、できれば Perl か Ruby で

たまに便利な IO::Scalar

たとえば、

sysopen $fh, $filepath, O_RDONLY;
sysread $fh, $tmp, READSHORT;

とかして、ファイルから $tmp に READSHORT づつ読み出しているプログラムがあったとして、ファイル名指定する代わりにデータ渡したい、となった時、sysopen の代わりに

$fh = new IO::Scalar \$data;

とするだけで他はいじらなくてよいので便利だ

。。。ということを知っていっても、IO::Scalar という名前を思い出すのに時間がかかったので、メモっておく

MacOS X に XML::Parser をインストールする時は expat を忘れるな

http://sourceforge.net/projects/expat/
Tiger の場合。Leopard の場合は知らない。

WWW::Google::PageRank

こんなスクリプトを保存しておいて

#!/usr/bin/perl
use strict;
use warnings;

use WWW::Google::PageRank;

my $g = WWW::Google::PageRank->new;
my $p = $g->get(shift);
print $p,"\n";

実行すると

[name@host]$ pagerank http://haro.jp/
4

とかなって、ひまつぶし 参考になる

Perl だと、ページング処理は Data::Page::Navigation かな

viaウノウラボ Unoh Labs: PEAR::Pagerで生成されるリンクを並び替える

Webアプリケーションではページングの処理を行うことがよくありますが、実際にこの仕組みを作るには少々手間がかかるので、この処理を肩代わりしてくれるライブラリがほしいところです。
 
この手のライブラリは、PHPではPEAR::Pagerが有名かと思います。

Perl では Data::Page::Navigation を使ってこんな感じか

use Data::Page::Navigation;

my $p = Data::Page->new(
                        1000,
                        10,
                        8
                       );

$p->pages_per_navigation(11);
print join ' | ', $p->pages_in_navigation;

# 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13

pages_in_navigation(11) としても同様の結果になるが、あまりおすすめでしない。
pages_per_navigation に値を設定しておかないと、first_navigation_page と last_navigation_page で pages_per_navigation のデフォルト値 (10) が利用されてしまうので。

ウノウラボの方は PEAR::Pager そのままではできないことをやろうというのが本題のようだが、Perl だと、こっから先は TT にまかせることが多いと思うので、言語によって色々ですな

ネタもないことだし、Regexp::Assemble

こんなスクリプトを保存しておいて

#!/usr/bin/perl
use strict;
use warnings;

use Regexp::Assemble;

exit unless @ARGV;
my $r = Regexp::Assemble->new;
$r->add($_) for @ARGV;
print $r->re,"\n";

実行すると

[name@host]$ regexp kawabata kazumichi
(?-xism:ka(?:zumichi|wabata))

とかなって、横着できて便利

Lightweight Language AHP

http://dame.dyndns.org/misc/llahp/
こういうのはお約束だし、やってみた

higemaru さんにオススメの LL は Perl (53%) > Ruby (28%) > Python (11%) > PHP (7%) です!

Python の方が PHP よりおすすめってのが意外だったが、どっちも嫌いなので別にいいや。あ、嫌いって言うてもた

use lib するだけで遅くなる

サーバスペックとかチューニングとか言う前に、コーディングを変えてみようと考えて、やってみた。便利モジュール使わなくてもなんとかなるレベルのものだったので、いろいろ使わないことにしてみたら、かなり速くなった。。。というところまでは想定内だったが、use lib するだけでガクンと遅くなったのには相当驚いた

CPAN に顔写真が掲載されるようになった

ので、早速のせてみた
gravatar.png

「use Perl;」で紹介されてるけど、簡単に手順を説明しとく

  1. Gravatar」でアカウントもってない人は、アカウント作る
  2. アカウントの e-mail アドレスを cpan.org のものにする
  3. Gravator に顔写真を登録する
  4. 一昼夜待つ

[ << < 4  5  6  7  8  9  10  11  12  13  14 >> ]

Home > Perl Archive

Feeds

Return to page top