Perl

いま acnhmaag わーるど で けんっりぶじ かすんう が ちーょー はていっやる らのしいで ぼくも ぱーるで かいて みよたん

id:amachangさんがかいてた!のでまねた! http://d.hatena.ne.jp/amachang/20090518/1242656425 むだに わんないらー に しみよてたん $ perl -e 'utf8::decode($ARGV[0]); my @terms = split(/[\s ]/, $ARGV[0]); foreach (@terms) { my @words = split(//…

前書いた気もするけど,ソースの行数を数えるスクリプトを書いてみた

・気分転換にここ二日位で書いたソースの行数数えてみた。 #!/usr/bin/perl -w my $dir = '/var/www/hoge/'; my @searchDirs = ('config', 'controllers', 'models', 'views'); my $count = 0; sub readDir { my $dirname = shift; print "$dirname\n"; open…

集合知プログラミング 3.3をperl化してみた(はてダ用)

http://d.hatena.ne.jp/rin1024/20090420/1240222617 http://d.hatena.ne.jp/rin1024/20090421/1240317936 ここら辺を、はてダのデータ元にクラスタリングできるように修正してみた。 ■ 集合知プログラミング 3.3をperl化してみた(形態素解析+単語数カウント…

集合知プログラミング 3.3をperl化してみた(階層化クラスタリング)

今回は、ブログから抽出したキーワード群をクラスタリングする方法。 とりあえず、階層化はできてたけど、出力結果が若干違ったから、もしかしたら一部間違ってるかも…。 追記(23:41):pythonのソースで実行してみたら同じ結果だった。 ■ 流れ テキストファイ…

集合知プログラミング 3.3をperl化してみた(形態素解析+単語数カウント)

#!/usr/bin/perl package FeedParser; use LWP::UserAgent; use XML::Simple; sub new { return bless {}, shift; } sub parse { my $self = shift; my $url = shift; my $ua = LWP::UserAgent->new; my $feed = XMLin($ua->simple_request( HTTP::Request->…

集合知プログラミング 2.4をperl化してみた(レコメンデーション)

Tobyにおすすめを紹介。 pythonでかかれてたのでperlで以下どぎゃーん #!/usr/bin/perl -w use warnings; use strict; use Dumpvalue; require 'pearson.pl'; require 'euclid.pl'; my %prefs = ( 'Lisa Rose' => { 'Lady in the Water' => 2.5, 'Snakes on …

集合知プログラミング 2.3.4をperl化してみた(評価者のランキング)

#!/usr/bin/perl -w use warnings; use strict; use Dumpvalue; require 'pearson.pl'; my %prefs = ( 'Lisa Rose' => { 'Lady in the Water' => 2.5, 'Snakes on a Plane' => 3.5, 'Just My Luck' => 3.0, 'Superman Returns' => 3.5, 'You, Me and Dupree'…

集合知プログラミング 2.3.2をperl化してみた(ピアソン相関係数)

成績の大盤振る舞いの誤差を考慮してくれる、ピアソン相関係数。 pythonでかかれてたのでperlでry #!/usr/bin/perl -w use warnings; use strict; use Dumpvalue; my %prefs = ( 'Lisa Rose' => { 'Lady in the Water' => 2.5, 'Snakes on a Plane' => 3.5…

集合知プログラミング 2.3.1をperl化してみた(ユークリッド距離)

ユークリッド距離でAさんとBさんがどれくらい近いか計算するやつ。 pythonでかかれてたのでperl化してみた。 #!/usr/bin/perl -w use warnings; use strict; use Dumpvalue; my %prefs = ( 'Lisa Rose' => { 'Lady in the Water' => 2.5, 'Snakes on a Plane…

Perlで単純な本文抽出をやってみる ~何も考えていない~

#!perl use strict; use warnings; use Dumpvalue; use LWP::UserAgent; my($html,$head,$body,$title,$content); print "content-type:text/html\n\n"; # ファイル取得(直接) #open my $FL, '<', 'source.html'; #$html = join('', <$FL>); #close $FL; # …

お天気を教えてくれるbot作ったよ!

cronで何かする練習で、botを書いてみた。 凄くつまらないです。 そこはもう分かってるからツッコまないでいただきたい…。 #!/usr/bin/perl -w use strict; use utf8; use Dumpvalue; use XML::Simple; use LWP::UserAgent; use Net::Twitter; use MeCab; us…

perlでtopコマンドっぽいの

$ perl -e 'while(1){ print `clear; ps aux | grep crond;`; sleep(5); }' crondがどんな風に動いてるのかなーと見たかったので。 でも $ top | grep hogehoge で解決できる場合もあるけど、今回は上のでいいのかな。

CPAN Authorになったよ!

・Yuki ANAI - search.cpan.org http://search.cpan.org/~yuki/ わーい! 最近作成中のWAFの一部切り離したのをあげてみた。 けど、これ単体じゃ動かないから上げてもあんま意味ないんだけどね・・・! ごめんなさい!ごめんなさい! ちょっとCPAN Authorに…

perl5.10入れてmod_perlをリビルドしても@INCが5.8.8以下しか組み込んでくれなかったので

BEGIN { @INC = qw(/usr/local/lib/perl5/5.10.0/x86_64-linux-thread-multi /usr/local/lib/perl5/5.10.0 /usr/local/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0); } startup.plに無理やり@INC変えるよ…

perl5.10インストール時に必要なcpanのアップデート

ちょっと前にperl5.10を入れてたんだけど、 @INCで5.10系のライブラリしか読み込めなかったり、どうすればいいのかと思ってたらcpanを全部更新する?必要があったらしい。 $ perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)' $ cpan cpan>force insta…

perlでダイクストラ法

なんとなくダイクストラ法を使う機会がありそうなので、勉強がてらに。 ダイクストラ法は、2点間の最短距離を求めるアルゴリズムです。 カーナビとかにも使われているらしいです。以下、さんぷるこーど。 #!/usr/bin/perl use strict; use Dumpvalue; my @no…

古い考え方なのかしら

フォームから受け取った値を$r->req->param('hogehoge')って受け取ってるフレームワークって多い? なんかのValidator使おうとしたり色々してたらそんな風なのが多くて$r->req->{hogehoge}とかやってるのが少ない感じがした。 そんなこんな。

mod_perl2でんでんでん

Apache2::Requestをインストールしてる際につまづいた点を幾つか。 /root/.cpan/build/libapreq2-2.08/glue/perl/xsbuilder/apreq_xs_postperl.h:21:34: modperl_perl_unembed.h: No such file or directory /root/.cpan/build/libapreq2-2.08/glue/perl/xsb…

mecabをインストール際につまづいた

Yahoo!で形態素解析のAPIあるけど、直接自前で用意したほうが楽しいだろうと思いPerlで使える形態素解析エンジンのMeCabを入れてみました。 Senあるじゃんとかのツッコミはなしで…。 # MeCab本体をインストール wget http://nchc.dl.sourceforge.net/sourcef…

迷路の出口を探す

アルゴリズムとか凄い弱いので、勉強。 迷路を作って、その出口までのパスを計算する方法ってのを考えてみた。 迷路の図面(sが開始位置で、gがゴール) 上の画像を参考に、状態の集合nodesと二つの状態を結ぶ辺の集合entitiesを用意。 また、現在の位置を表す…

DBIx::MoCo遊び中

話しか聞いてなかったCache::Memcachedを使ってすげー!便利!と今日は一日歓喜してました。 memcachedって、要するに共通でDBへクエリになげてるのをメモリ上にキャッシュして無駄にクエリなげるのを減らそうって事ですよね? 違ったら教えていただけると嬉…

大文字・小文字変換

package TestHoge; sub new { my $class = shift; my $self = bless{}, $class; return $self; } sub hoge { my $self = shift; print "aaaa"; } sub AUTOLOAD { my $self = shift; print "bbbb"; } package main; use TestHoge; my $test = new TestHoge();…

MooseのHashRefはroでも値を変更できる?

package Mooooose; use Moose; has 'mod_name' => (is => 'rw', isa => 'Str'); has 'init_val' => (is => 'ro', isa =>'HashRef', default => sub{ _decode() }); sub _decode { my %hage = (hoge=>'1'); \%hoge; } package main; use Mooooose; my $mos = …

リアルタイムにじゃんけんしてみる

今日は、リアルタイムにじゃんけんをできるものを作ってみました。 同期取りながらリアルタイムでの対戦って意外と難しいですね。 改めて実感しました。 でも、じゃんけんが出来たらポケモンの簡単な対戦画面とかも作れそうとか思ってみたり(内部のロジック…

アホすぎるw

どうも、サブルーチンに読み込もうとしてた引数が読み込めないと思ってたら…。 my ($id, $more) = shift;shiftとかwwwwそりゃ読めないwwww 勿論@_じゃないとダメです、ハイ。 orz

個人的メモ

my $moto = 19871024; while($moto >= 10){ my $sum = 0; map { $sum += $_ } split(//, $moto); $moto = $sum; } print $moto; 最低限の処理をするコード。 誕生日を一文字ずつ足してって、合計が10より少なくなるまでループして足していくというもの。 も…

指定ディレクトリ内に入ってるmp3の曲数えるー。

perl -e "$mst_dir = 'C:/Users/Owner/Music/Album'; $count = 0; opendir $DIR, $mst_dir;while($dirname=readdir($DIR)){ opendir $DIR2, $mst_dir.'/'.$dirname; while($filename = readdir($DIR2)){ $count++ if($filename =~ /.mp3/); } closedir($DIR2…

Live MessengerをPerlで使うAPIとかないのかな(2)

ぞくへん。 Messenger.UIAutomation.1で読み出せばWin32::OLEでも呼び出せた! use strict; use Win32::OLE; my $messenger = Win32::OLE->new('Messenger.UIAutomation.1') or die "oops\n"; # 標準設定画面の表示 #$messenger->OptionsPages(0, 0); # サイ…

Live MessengerをPerlで使うAPIとかないのかな

http://bot-depot.com/ 上記のサイトでMSN.pmというモジュールがあるので、ダウソして使用しよーとしてみたら Authentication Error: No response from Passport server とかでてログインできないー。http://www.bot-depot.com/about5892.html あとpingも送信…

Plucene

PluceneっていうLuceneをPerlで使うライブラリがあったので使ってみ…たらまた躓いた。 my ($count, @unpack) = unpack "NN/(w/aN)", read_file("$directory/segments"); 「'/' must follow a numeric type in unpack at /usr/lib/perl5/site_perl/5.8.8/Pluc…