ハブ君の寝言

日記のような何か

perl

habu_bot

Twitter上で人気者だったhabu_botは, 本日2012/03/27をもちまして終了することになりました. 今まで応援してありがとう!!という訳で,ソースコード公開するよ! #!/usr/bin/env perl use strict; use warnings; use Net::Twitter::Lite; my $consumer_ke…

なんか数えるプログラム

open(FH, $ARGV[0]); my @a = <FH>; my $full = 0; my $ex = 0; my $hard = 0; my $clear = 0; my $easy = 0; my $failed = 0; my $no = 0; foreach my $data(@a){ $full += $data =~ /FULL COMBO/; $ex += $data =~ /EX HARD CLEAR/; $hard += $data =~ /HARD C</fh>…

ビットを数えるアルゴリズム

数値のビット列から1or0の個数を調べる方法として今まで $n = unpack("B8", $b); $m = $n =~ s/0/0/g; を使っていたけど、遅い。とにかく遅い。 1Gbit分を評価したら200sec以上かかる。 Twitterで聞いたら下記のURLを教えてもらった。 さすがTwitter最強です…

Perlで乱数生成

重ならない乱数列を作るには…。 とてもめんどくさいですね。 もっと軽くできないのかしらん? #!/usr/bin/perl my $max = 2048; # 0 ~ 2047の乱数 my $ro = 200; # 生成する乱数の数 my @num; srand(12345); # seed for(my $i = 0; $i<$ro;$i++){ my $a = in…

C++とCとPerlと標準出力

Hello Wold C++ : std::cout << "Hello World"; C : printf("Hello Wold"); Perl : print"Hello Wold";a+b=c C++ : std::cout << a << '+' << b << '=' << a+b; C : printf("%d+%d=%d",a,b,a+b); Perl : print "$a+$b=".($a+$b);coutは慣れない。いつもprint…

stat関数でファイルの詳細情報

ファイルの更新日時とかデータサイズとか取得したくなるときってありますよね #! /usr/bin/perl use strict; my $f = "file.txt"; my $time = localtime( (stat $f)[9] ); my $size = (stat $f)[7]; print "file:".$f.", size:".$size.", time:".$time."\n";…

囲まれた文字列の抜き出し

毎回忘れて過去のソースコード漁るのが大変となり書きだすaとoで挟まれた奴を取り出すだけ $a = "aiueo"; $a =~ s/a(.*?)o/$1/; print $1;

自動フォロー返し

Net::Twitter::Liteも慣れてきたかもしれないというわけで 自動フォロー返しを実装 &my_follow($nt); # my $nt = Net::Twitter::Lite->new(...); sub my_follow{ my $nt = $_[0]; my $flw; eval{ $flw = $nt->followers({count=>20}); # 20人取得 }; foreach…

Net::Twitter::Lite

UbuntuにNet::Twitterがインストールできなかったから人生あきらめてNet::Twitter::Liteに乗り換え Ubuntuのインストール系がまじ意味不明sudoとかめんどうなんでやめてください頭の部分 #!/usr/bin/env perl use strict; use warnings; use utf8; use Net::…

Net::TwitterをUbuntuにinstall

結論から言うと出来ませんでした。まずここを参考 http://nabetama.com/blog/?p=158 sudo cpan -i Bundle::CPANはできた。 sudo cpan -i Net::Twitterで、 make test had returned bad status, won't install without forceとなる。もうやだ無理 sudo perl -…

eval

perlでエラー落ちが大量にあって, trycatchさせようと必死に頑張ってたけど, eval{};を使い始めたら落ちなくなった. eval素晴らしいですね. eval{ print 1/0; };

配列の絶対値無限大を返す

こんな感じで、配列の最大値が返せます。 perl簡単すぎて楽しくなってきますね。 my $x = 5; my $y = 7; my $z = 3; my $aaa = (sort { $b <=> $a } ($x , $y, $z))[0]; print $aaa;

簡単な決められた単語を発言するBOT

a.txtの内容を上から順に発言するBOT とりあえず簡単なBOTは作れるようになったこれで動いているBOT http://twitter.com/gokinyan_bot #!/usr/bin/env perl use strict; use warnings; use Net::Twitter; use utf8; # 文字列をutf8として扱う use open IO =>…

自分用OAuthメモ

OAuth認証がめんどくさい めっちゃめんどくさい やってみれば簡単だけどめんどくさい 一回で済むけどめんどくさい #!/usr/bin/env perl use strict; use warnings; use utf8; use Net::Twitter; use Win32::OLE; my $consumer_key = 'xxxxxxxxxxxxxxxxxx'; m…

twitterOAuth認証

http://d.hatena.ne.jp/layerzero/20090930/p1上記のサイトを参考にBOTをOAuthAPI?に書き換えました。まだ、いい感じになってないのでプログラムリストは貼りませんよそのうち、C++だけでどうにかしたい クライアント作りたいしねぇ

perlでtwitterに連続投稿するもの

これの,my $twitter_username = "user_ID"; my $twitter_password = "pasuwa-do";をいじって,perl a.pl test とかやれば無限ループで楽しいことに(期間限定) #perl2exe_include HTTP::Cookies #perl2exe_include File::Basename #perl2exe_include Getop…

ソートして、カウントして。

DF F7 8F 89 6D F3 45 1F 73 BE 86 40 E0 3F EA 7F FD 82 88 E2 16 65 C7 D0 13 D7 BC EE 58 EF F3 1F FF EA 99 ...こんな感じのデータの、0~Fの個数を調べる。 perl -ne 'for(split){print"$1\n$2\n" if/(.)(.)/}' 001.txt > 001.s sort 001.s > a.txt って…

perlで調べてもわからなくて死にそうになった事でも

こんな感じのプログラムがあってさ @_の意味がわかんねぇよ死ねよごるぁ!! とか思って調べてもグーグルさんじゃ記号を受け付けて無くて検索出来ないまぁ、適当にプリントデバッグして、引数のことだって理解したけどね そして、ベクトルが@から始まるって…