2008-11-01から1ヶ月間の記事一覧
以下がその方法。 my $code = do { local $/; <$in> }; 説明 グローバル変数「$/」は,入力レコードセパレータ。 これをローカル化すると,「$/」の値は undef となる。 「$/」の値が undef の場合,入力は分離されていない単一のレコードとして扱われる。 l…
ある日を境に, Bloglines のサイトをブラウザで見ると未読項目が沢山あるのに,なぜか Plagger で未読項目を Gmail に転送しようとすると, Plagger::Plugin::Subscription::Bloglines [info] You have 0 unread item(s) on Bloglines. と,未読項目は「0」…
プログラマがどちらのつもりで中括弧を使っているのか,コンパイラ(パーサ)に知らせる方法は以下の通り。 無名ハッシュコンストラクタを使うつもりだということをコンパイラに知らせるには { の前に + 記号を付けて,+{ ... } のように書く コードブロック…
"失敗状態を返すには、裸の return を使用する" Perlベストプラクティス作者: Damian Conway,クイープ出版社/メーカー: オライリー・ジャパン発売日: 2006/08/24メディア: 大型本購入: 11人 クリック: 153回この商品を含むブログ (155件) を見る
サブルーチン プロトタイプはチェックされる メソッド プロトタイプは無視される これは知らなかった。 でも言われてみればそうだよね。OOで書いた場合,継承関係を辿ってメソッドを探す為,実行時にならないと,実際にどのメソッドが呼び出されるかは分から…
Contextual::Return - Create context-senstive return values これはまた便利というか面白いモジュール。Perl には wantarray という組み込み関数がある。 これは,メソッドの呼出し側が戻り値としてリストコンテキストを要求しているのか判定する時に使用…
以下の問題は,2008/11/27現在解消されましたのでご注意下さい。(以下,古い記事) 昨日から新しくなった,はてなブックマークを早速利用しているのだが...はてなブックマークのお気に入りのフィードの内容が何故か空なのだが...http://b.hatena.ne.jp/h3x/fa…
ユーティリティ Scalar::Util - A selection of general-utility scalar subroutines List::Util - A selection of general-utility list subroutines List::MoreUtils - Provide the stuff missing in List::Util
Perlの組み込み sleep 関数は,スリープ時間を浮動小数点で指定した場合であっても,整数単位の秒数でのみ,プログラムを一時停止するらしい。 sleep 1.5; # sleep(int(1.5))と同じで,1秒間スリープする sleep 0.5; # sleep(int(0.5))と同じで,0秒間スリー…
Memoize - Make functions faster by trading space for time このモジュールを使用すると,サブルーチンから返される値をすべて記憶し,次回サブルーチンが同じ引数で呼び出されたときに,同じ値を(再計算せずに)直ちに返してくれるようになる。 # SYNOPSI…
オプションのメモ 「x」オプション 空白文字が無視される コメントを挿入できる 空白を使いたいときは,\でエスケープする # を使いたいときは,\でエスケープする 「m」オプション ^ や $ のアンカーが複数行に対応する 「s」オプション . (ドット)が改行文…
まず,ソースを取ってくる。 svn checkout http://remedie.googlecode.com/svn/trunk/ remedie/HACKING を読む。必要な事は全て書かれている。 依存モジュールを以下のコマンドで調べてインストールする。 ack -h ^use lib | sort -u | perl -Ilib 以下のコ…
Twitter と Wassr に同じ内容の投稿をする為だけのスクリプト。 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use Perl6::Say; use Net::Twitter; use Net::Wassr; use Term::Encoding; my $conf = { twit => { user => 'username', pa…
Sub::Installer - A cleaner way to install (or reinstall) package subroutines これ何気に便利かも。 今までモジュールをインポートしたクラスにメソッドをインストールするには, import メソッドの中とかで以下の用に書くのが(自分の中では)常套手段…
HTML::TokeParser::Simple - Easy to use HTML::TokeParser interface # SYNOPSIS use HTML::TokeParser::Simple; my $p = HTML::TokeParser::Simple->new( $somefile ); while ( my $token = $p->get_token ) { # This prints all text in an HTML doc (i.e…
<html> <body> <script src="/path/to/foo.js"></script> </body> </html> // foo.js document.writeln('<div class="rssChannel">'); document.writeln(' <h3 class="rssTitle">'); document.writeln(' <a href="http://blog.excite.co.jp/shokotan">しょこたん☆ぶろぐ</a>'); document.writeln(' </h3>'); do…</div>
Path::Class - Cross-platform path specification manipulation Digest::MD5 - Perl interface to the MD5 Algorithm 参考 クロスプラットフォームなファイル・ディレクトリパスの操作
script は UTF-8 で書く use utf8; を使用し,perl に script が UTF-8 で書かれているという事を教える use strict; use warnings; use utf8; ファイルオープン時に文字コードを指定する open my $in, '<:encoding(euc-jp)', $infile or die "$!"; open my $out, '>:encoding(utf8)', $outfile or die "$!"; 外部から取</:encoding(euc-jp)',>…
Devel::Peek - A data debugging tool for the XS programmer スカラ変数が内部的にどのような値として表現されるかを表示する。 utf8 - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source code ソースコードが UTF-8 で書かれているなら,こ…
受信したものはデコードし、出力するものはエンコードする。 ただし、それがテキストデータである場合に限る。あぁ〜なんてシンプルなんだ KISS バイト文字列 ----> Unicode 文字列 : decode() バイト文字列 <---- Unicode 文字列 : encode() Unicode 文字…
いつも Data::Dumper モジュールにはソースを Read/Write する時にお世話になっているんだけど,色々不満があったので Debug::Dumper というモジュールを書きました。Data::Dumper モジュールで不満だったのは特に以下の 2 点。 出力内容の encode 指定が出…
Readonly - Facility for creating read-only scalars, arrays, hashes. Readonly::XS - Companion module for Readonly.pm, to speed up read-only scalar variables. Perlで定数を使用する時は,まず上記2つのモジュールをCPANからインストールする。 実際…
先日ニコニコ動画もPlaggerで料理という記事を書きましたが,解決できました! まず,ニコRSSにアクセスし,「検索のRSS作成」の入力の所に, 【FF6】20代後半の叔母さんが頑張ります【実況プレイ】 と入力。それから「RSS作成」ボタンを押す。ワクワクしな…
CPAN::Mini - create a minimal mirror of CPAN $ du -hs ~/.minicpan 926M .minicpan/ 参考サイト CPAN::Miniの設定などなど use CPAN::Mini; CPAN::Mini で CPAN のミラーをローカルに acotieさんの記事でも触れられているが cpan> o conf prerequisites_p…
こんな事できたらいいなと妄想中。 ある特定の語句を動画のタイトルに含んでいる動画の情報を収集 ↓ それらの情報からフィードを生成 ↓ フィードが更新されていればGmailへ通知 最近「【FF6】20代後半の叔母さんが頑張ります【実況プレイ】」にハマってまし…
名前の最後に前置詞(of,for,from 等)を追加すると,ハッシュや配列へのアクセスが理解しやすくなるそうな。 (by Perl Best Practices) → [ _ ]* サンプルコード my %title_of; my %ISBN_for; my @sales_from; while (my $month = prompt -menu => $MONTH_…
右を見ても左を見てもリンゴだらけ
コードを書くときには、あなたのプログラムを保守する誰かが、 あなたの居場所を知っている凶暴な変質者であると心得よ 出典:Perlベストプラクティス 思わず一人ニンマリしてしまいました。Perlベストプラクティス作者: Damian Conway,クイープ出版社/メー…
忘れそうなのでメモ。Perlの有名なコードフォーマッタ perltidyPerl Best Practices の推奨コードレイアウトにフォーマットするには,.perltidyrcファイルに以下の内容を書けばいいらしい。 -l=78 # Max line width is 78 cols -i=4 # Indent level is 4 col…
動画張りまくるとページが重くなるので嫌なんだけど,リンク切れするとイラットするし... でも×4そんなの関係ねぇCOOL!