はちゅにっき

こっちのブログはまったり更新

Perl

C/C++のコメントを取り除く

「どーせ提出されてくるプログラムなんて、誰かのコピーなんでしょ?」 とゆーことで C言語のコメントを除去した上で、diff してコピーかどうか判断しようかなー と、悪いことを考えてみたり。さてさて、いったいどうやってC言語のコメントにマッチさせよう…

FreezeThaw で変数を保存

これぞチェックポイントリカバリ手法。 詳しい使い方はこちらに載ってました。http://d.hatena.ne.jp/minesouta/20070924へー。便利。ただし、データに改行が含まれているとエラーが発生するみたい。 これのせいでどれだけ悩まされたことか。 ところで、変数…

円周率(π)を使いたい

sin10° の値を求めたい場合は えーと、ラジアンを引数にするから sin( π*(10/180) ) で求めなきゃならないのかー。 あれ、でもπって3.141592... いくつだっけ? そんな高校生の数学の悩みは Math::Trig を使うことで解決しました。 Math::Trig を使うとなん…

YAPAC::Asia::2007 の動画

を以下のサイトで見ました。http://www.i-revo.jp/yapcasia/index.html趣味でPerlを触ってるような人間にとっては ちょっと高度過ぎる内容でしたが、すごく役に立ちました。 とりあえず、POEはそのうち使ってみたいなー。 あと、IO::Prompt とか、地味そうだ…

use lib する際に

モジュールをインストールできない環境などで ローカルのモジュールを使用したいときに 便利なモジュールがあるとのことで試してみました。 今までは use lib './lib'; といった感じで、相対パスや絶対パスで直接 Script 内に書き込んでいました。 でも、こ…

ZIP で固めて、名前をつけて保存

3k実験で使おうかと思ったけどやめた。 でも、一応メモとして残しておこうかなー。 ZIPで固めて ⇒ Archive::Zip 名前をつけて保存 ⇒ Content-Disposition: filename= を出力 #!/usr/bin/perl -w use Archive::Zip; use IO::File; use warnings; use strict; …

Inline::C に値を渡す

前回の Text::CSV::Simple を使ったときに困ったこと。 Perlは変数の型とか気にしないからいいんだけど C言語は(Perlの内部的にも)そうはいかないから こーゆー厄介なシーンが発生するんだろうなぁ。 っと言うワケでメモ。 Perlで渡した整数の配列を SvPV(In…

Text::CSV::Simple を使う

CSVファイルから、特定の列(縦方向)を切り抜きたい! けど、どうしよぅ。そんなときはとりあえずCPAN。すると Text::CSV::Simple*1 なるモジュールを発見。さすがCPAN。 METHODS のところをみてみると want_fields という method を用いれば指定した列を抜き…

一般ユーザで CPAN モジュールをインストール(まとめ)

毎回悩むので、まとめちゃおぅ 今回は、一般ユーザからモジュールを ~/perl/modules にインストールする と仮定して書こー。 他のディレクトリにインストールする場合は ~/perl/modules の部分を 該当するディレクトリに書き換えればへーきかな? あと、~/.z…

YAMLをつかってみよぅ

最近何かと話題(な気がする)YAML。 実際に使ってみたいなー と魔が差した思ったので、使ってみることに。 とりあえず触ってみるのが目的なので 「GloMoSim のシナリオを作成するためのスクリプトの設定ファイル」 として YAML を使ってみよぅ。 YAMLファイル…

Plagger?

研究室で回覧されている Software Design の10月号に Plagger なるものが紹介されていました。 で、Plagger ってナニ? とにかく面白そうなので、再回覧の欄にチェックいれときました。 うぇぶとか調べてイロイロ触ってみよぅ。

Sledge インストールの続き

現在作業中でーす。 とりあえず、Sledge本体をダウンロードしてくる DLは http://sl.edge.jp/ から辿りつけるどこか。 [Lily:~]# wget http://osdn.dl.sourceforge.jp/sledge/8401/Sledge-1.11.tar.gz 解凍しま〜す [Lily:~]# tar -zxvf Sledge-1.11.tar.gz …

Sledge を使ってみたい

とゆーわけで、Sledgeを使ってちょっとした工作 を計画中なので、まずはインストールから。 # perl -MCPAN -e shell cpan> install Bundle::Sledge 今日はここまでで。。。 そろそろ、おうちのサーバのCPU(PowerPC 200MHz)では 何をやるにしても限界が近いよ…

Inline::C を使ってみる

PerlからC言語を扱える(?)ってコトで使ってみました。 XSを使うのは、ちょっと難しかったけど、こっちは簡単だった。 今は、GloMoSim のログから座標情報を取得するPerlと その座標情報からガブリエルグラフを求めるPerlを作ってますが ガブリエルグラフを…

日本製のPerl用Framework?

他にも日本製のFrameworkはありそうですが webをみてたら偶然発見しました。 http://tripletail.jp/Framework が便利(なんだろう)とゆーのは分かりますが Catalyst や Sledge とか難しいんだもん。 ドキュメントが英語だし。。。 実際に働くようになったら、…

面白そうなので作ってみる

mixi で参加しているコミュニティで mixi 内のコミュニティを検索してコマンドラインに表示する とゆーのがあり面白そうなので作ってみました。 出力される結果は、規則性のある構造をしているので Template::Extract を使うことに。 正規表現でムリヤリやっ…

CPANの設定をリセット

$ perl -MCPAN -e shell とか $ cpan でいつものように CPAN Shell にはいって cpan[1]> o conf init と入力すると、最初から設定を全部行うことができます。 場合によっては最後に cpan[2]> o conf commit をお忘れなく。

一般ユーザでモジュールをインストール

CPAN を使ったインストール perl -MCPAN -e shell だと (やり方はあると思うのですが) root 権限がないとインストールできません 理由は module のパスが通ってるトコに権限がないから。 そっか。 そこで、一般ユーザでインストールしてしまおうと。 しっか…

Template::Extract を使ってみよぅ

CGI、Socket、CUIのそれぞれで FEATHER の録画予約をする とゆープログラムを作っているのですが 今回は iEPG からの予約を可能とするため iEPG の解析(ってゆーのはウソ)のために Template::Extract を使ってみました。 Template::Extract についてですが、…

PerlでSocket通信

追記: 意外と需要があるみたいなので、しっかり動くコードにしました (2014/01/24) IO::Socket なるモジュールを使うと、簡単にSocketプログラミングができました。

JAPHってすごい!?

Perlにはイロイロな記法があるってゆーのは 身をもって知っているつもりですが、こーんな遊びがあるのは知らなかった〜。 やってるコトはいたって簡単。 Perlで 「Just another Perl hacker」 と表示するだけみたい。 でも、それを暗号めいたソースで表示す…