タグ

perlといいね!に関するtzccinctのブックマーク (4)

  • say no to system perl - システム標準Perlを使わないススメ - D-6 [相変わらず根無し]

    say no to system perl - システム標準Perlを使わないススメ 2011年4月30日 10:06 D | ブログ記事のURL | コメント(0) | トラックバック(0) LinuxMac OS Xを使っていれば、大抵の場合/usr/bin/perl などの位置にPerlが入っていますが・・・これらを使うのはやめたほうがいい、というのが段々定説になりつつあります。 厳密に言うと、別に簡単なスクリプトを書くのにシステム標準Perlを使うのは問題ないのだけれども、CPANからモジュールをインストールするつもりならシステム標準Perlを使わないほうがいいでしょう、という事ですね。 自分としてはシステムPerlを使わない理由はふたつある。 ひとつはシステムPerlはそれに依存するものがあるため、それに変更を加えると何かが壊れることがあること。例えばついうっかりモジュールのバ

  • perl5 でファンクションプロトタイプをつかっちゃいけない理由と使われる理由。 - tokuhirom's blog

    Damian Conway の Perl Best Practice は関数プロトタイプを非推奨扱いにしているが、一方で巷の Perl Hackers はこれを使いまくっている。このような状況が初心者を混乱させているのではないかと思い、解説することにした。 function prototype を Damian Conway の Perl Best Practice が非推奨扱いにしている理由は以下のような点だ。 Prototypes do not work on methods. Prototypes do not work on function references. Calling a function with a leading & (&foo) disables prototypes. But you shouldn't be calling functions like t

  • 続・Encodeでラクラク日本語処理 - Articles Advent Calendar 2010 Casual

    この考え方が当に正しいかを確かめるために、UnicodeのコードポイントがU+00E8である「è」という文字を使って試してみましょう。 use strict; use warnings; use utf8; use Encode qw/is_utf8 encode_utf8/; sub disp_hex($) { use bytes; join ' ', map {sprintf '0x%X', ord($_)} split //, $_[0]; } my $utf8flagged = 'è'; # 内部表現がUTF-8の「è」 my $latin1 = "\x{00E8}"; # 内部表現がLatin-1の「è」 for ($utf8flagged, $latin1) { print "Dump: ", disp_hex($_), "\n"; print "UTF-8 flag: ",

    続・Encodeでラクラク日本語処理 - Articles Advent Calendar 2010 Casual
  • Don't use base.pm, use parent.pm instead! - Islands in the byte stream (legacy)

    「使っちゃいけない標準モジュール」*1の反響を見ていると、baseが非奨励ということに驚かれた方が少なくありませんでした。そこで、baseについて補足します。 まずbase.pmのドキュメントの最初の文は以下のようになっています。 Unless you are using the fields pragma, consider this module discouraged in favor of the lighter-weight parent. (拙訳: fieldsプラグマを使用しているのでないかぎり、このモジュールは勧められない。かわりに軽量なparent.pmを使う方がよい。) fieldsプラグマは、ハッシュリファレンスのキーを固定したオブジェクトを作成するための機能ですが、あまり一般的ではないためここでは解説しません。特に理由がない限り、ここは素直に忠告に従った方がいいでし

    Don't use base.pm, use parent.pm instead! - Islands in the byte stream (legacy)
    tzccinct
    tzccinct 2010/12/26
    「parentはPerl 5.10(.1)から標準モジュールとなっていますが、CPANにもあります。特に依存のない小さなpure Perlモジュールなので、インストールは簡単です。」
  • 1