2009-11-01から1ヶ月間の記事一覧

Macの perldocがおかしくなった

突然 perldocの調子がおかしくなった. エスケープシーケンスが ESC??みたいな具合に表示されて しまい見づらくて仕方がない. また perldoc perldoc等一部の ものは上記の問題に加えて vimが起動するということになってしまった. 原因はわからないけど, port…

GNU dateのすごい機能

会社で休日出勤するときは代休を取らなければいけません。 何日以内に必ず取得しないといけないんですけど、それを 調べるのにウェブサービス探したり、自作スクリプトを書いたり ってやっていましたけど、dateコマンドだけでいけることが わかりました。BSD…

同期書き込み

システムコールの本を読んでいると、writeシステムコールは 同期書き込みが行えるようです。やりかたはファイルを open するときのフラグ引数に O_SYNCをつけるだけです。 O_SYNCをつけた同期と、非同期書き込みで最後にfsyncで ディスクに書き出すプログラ…

MacOSでの pingの場所

なにげに pingがうちたくなって試してみたところ エラーになった。 % ping zsh: command not found: pingmanでは出てきたのでさすがにどこかにあるだろうって 思ってスーパーユーザのディレクトリの中身をみてみたら あった。 % ls /sbin SystemStarter* fst…

数値定数について

Cリファレンスマニュアルを読んでいると数値定数について 知らなかったことがいくつかあったのでメモ。"0x"をつけた数字は C89以降では unsigned int以上で扱われる。 C89では可能性として long, unsigned longもあるんですけど、 規則によるとオーバーフロ…

Perlで localeを扱う

昨日のエントリの問題の解決。コマンドラインで LANG=Cとしなくても解決できる方法が ありました。localeをその場で変えてあげればいいだけ でした。setlocaleという CのAPIがあるようでそれを 使えば解決できます。Perlでも同様の APIが POSIX パッケージに…

日付解析できない原因がわかった。

昨日のエントリーで Time::Pieceモジュールの strptimeメソッドが うまくいかない理由がわかりました。同時に解決方法もわかりました。 結論からいうと、 ロケールに問題がありました。昨日のうまくいかない 例をたどってみると曜日、月の解析ができないこと…

日付解析がうまくいかない

昨日のエントリのように ISO8601形式であれば日付の解析が 行えたが、RSSにある pubDateの形式の場合はなぜかうまくいかない Time::Pieceモジュールに含まれる Piece.xsを確認したところ、 Cライブラリの strptimeを呼び出しているだけであったので、 C言語…

日付の解析

RSSにある更新日時を解析するのを正規表現使ってやっていましたけど、 楽な方法がないかな〜と思って調べてみた。 Cライブラリの strptimeを使えばいいみたいです。 Perlでは Time::Pieceから strptimeが使えます。 フォーマットから勝手に解析してもらえる…