タグ

perlに関するsbg3のブックマーク (320)

  • Moose::RoleはJavaのInterfaceなんかじゃない - Pixel Pedals of Tomakomai

    Moose::RoleはJavaのInterfaceと似たような物だと思ってたんですが、大きな誤解でした。 モダンPerlの世界へようこそを読んで、Moose::RoleはTraits: Composable Units of Behaviorの概念の実装らしいことがわかったので、この論文を読んでみました。*1。非常に面白い内容でした。P.12 の a) と b) を見るだけでも、この概念の面白さが伝わるんじゃないかと。要は、指定した振る舞い(requires)から新しい振る舞い(provides)を作るものが、Traitsってことです。(ただし、ここで言う振る舞いにはアクセサを含みます。) 誤解していたこと Moose::RoleをTraitsとして見なすとすれば、JavaのInterfaceの性質である以下の2点は誤解です*2。 Moose::Roleは、単なるインタフェース(API)

    Moose::RoleはJavaのInterfaceなんかじゃない - Pixel Pedals of Tomakomai
  • 第4回 Any::Moose:なにがどうでもムースはムース | gihyo.jp

    CPANTSは情報の宝庫 Perlを使う最大の利点といわれるCPANですが、CPANは単なるモジュール置き場ではありません。CPANはまたPerlの利用状況を知るうえで不可欠な統計情報を得る場でもあります。そのような統計情報のいくつかは、いわゆるCPAN検索サイトからも確認できますが、より突っ込んだ情報が欲しい場合はCPANTS(CPAN Testing Service)と呼ばれるサイトを確認するのが便利です。 国内ではnipotanこと谷口公一氏が始めた「輝け!全日最強 CPAN Author 決定選手権」のネタ元として知られていますが、このサイトでは個々の作者やモジュールの品質だけでなく、そのモジュールが実際にどこで使われているかという情報を得ることもできます。 たとえば前回取り上げたロール関連のモジュールの利用状況を調べてみると、古き良きExporterを依存モジュールとして取り上

    第4回 Any::Moose:なにがどうでもムースはムース | gihyo.jp
  • Spreadsheet::WriteExcelでperlからexcelファイルに出力 - end0tknr's kipple - web写経開発

    http://d.hatena.ne.jp/end0tknr/20090111/1231635743 昨日、紹介したSpreadsheet::ParseExcelexcelファイルの内容を読むmoduleですが、excelファイルに出力するmoduleにSpreadsheet::WriteExcelもあります。 http://search.cpan.org/perldoc?Spreadsheet::WriteExcel 機種依存文字出力ならEncode::decode("cp932",〜) decode("cp932",〜)のようにcp932でEncode::decodeした結果をSpreadsheet::WriteExcelに与えると、機種依存文字も問題なく出力されます。 #!/usr/local/bin/perl use strict; use warnings; use Encod

    Spreadsheet::WriteExcelでperlからexcelファイルに出力 - end0tknr's kipple - web写経開発
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    sbg3
    sbg3 2009/07/22
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    sbg3
    sbg3 2009/07/15
  • 第11回 Devel::Declare:醜い部分を隠すための工夫あれこれ | gihyo.jp

    12位のPadreは最近活発に開発が続けられているPerl製のIDE。16位のAcmeはいわゆる「ネタ」系のモジュールを入れておく名前空間なのですが、ここで筆者の目を引いたのは15位にランクインしたDevelという名前空間。 これは、1996年リリースのPerl 5.002で導入されたDevel::SelfStubberを筆頭に、2000年に初お目見えした5.6系列でコア入りしたDevel::DProfやDevel::Peek、2002年の5.007003でコア入りしたDevel::PPPortなど、もともとはかなり高度な開発者向けのツールを入れておく名前空間でした。 典型的なDevel系モジュールであれば、perlコマンドの-dスイッチといっしょに使うと「Devel::」という名前空間を省略できる、という特徴があるくらいPerlの内部に密着した名前空間ですから(たとえば2008年に登場し

    第11回 Devel::Declare:醜い部分を隠すための工夫あれこれ | gihyo.jp
    sbg3
    sbg3 2009/07/13
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    sbg3
    sbg3 2009/07/10
  • 第10回 Class::Meta::Express:もっと読みやすく、周囲への影響は最小限に | gihyo.jp

    「シュガー関数=モダン」ではありませんが 「モダンPerlがわからない」と言われる大きな原因のひとつが、MooseやJiftyに見られるシュガー関数、ドメイン特化言語(DSL)の氾濫にあることは衆目の一致するところでしょう。 前回紹介したJiftyでは、スキーマとアクション用にそれぞれひとつ、ディスパッチャ用にひとつ、テンプレート用にひとつ、という具合に都合3系統4種類のドメイン特化言語が使われていましたし、Mooseの場合も、アトリビュートや型の定義にメソッドモディファイアと、さまざまなところで独自の記法が用意されています。Catalystも、テストの際には独自のシュガー関数を使っていました。もちろん探せば似たような例はいくらでも見つかることでしょう。 このようなシュガー関数は、1998年にリリースされたPerl 5.5でコアに導入されたTestモジュールなどを見てもわかる通り、来はモ

    第10回 Class::Meta::Express:もっと読みやすく、周囲への影響は最小限に | gihyo.jp
    sbg3
    sbg3 2009/07/02
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    sbg3
    sbg3 2009/07/02
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    sbg3
    sbg3 2009/06/26
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    sbg3
    sbg3 2009/06/26
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    sbg3
    sbg3 2009/06/26
  • perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found

    2009年06月23日15:30 カテゴリLightweight Languages perl - use CGI; use Encode; # 非英語Webプログラミング3原則 これは、実はPerlに限らず未だに事実だったりするのですが.... Perl でフォームデータから UTF-8語文字をとりだす方法 (プログラミングの小石・大石) UTF-8 のフォームによっておくられたデータのなかから日語文字をとりだすことは,日Perl CGI プログラマならたいてい必要になることである. ところが,その方法は意外に確立されていないようにみえる. しかし、元発言の方法は先祖帰りすぎるので。 Perlプログラマー以外にも、Webプログラマーであれば有用なentryです。 PerlでWebプログラミングする場合の三原則 QueryはCGIモジュールで処理する 文字コードはEncode

    perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • 第2回 Ark チュートリアル:基礎編 | gihyo.jp

    前回はArkの開発背景と機能概要を紹介しました。2回目からはもっと具体的に、Arkを使用した開発方法を紹介していきます。 今回は、Arkのインストール方法、そして簡単なHelloWorldアプリケーションの作成を通してArkを使用したアプリケーション開発の流れを紹介します。 Arkのインストール まずは、Arkのインストールについて話をしていきます。 Perlのインストール Arkは、Perlバージョン5.8.1以上が必要です。 お使いのコンピュータがMac OS XやLinuxで動作しているなら、おそらくすでにPerlがインストール済みのはずです。Windowsで開発する方は、Strawberry PerlやActivePerlなどをインストールすると良いでしょう。 Arkのダウンロード まず、ダウンロードページより最新版をダウンロードします。稿執筆時点での最新バージョンは 0.001

    第2回 Ark チュートリアル:基礎編 | gihyo.jp
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • Happy Testing Perl 記事一覧 | gihyo.jp

    第4回Test::Perl::Critic, Test::Pod, Test::Pod::Coverage, Test::Exception, Test::Warn, Devel::Coverの紹介 小林篤 2008-06-25

    Happy Testing Perl 記事一覧 | gihyo.jp
  • perl - use utf8; #って何だ? : 404 Blog Not Found

    2009年06月15日07:00 カテゴリLightweight Languages perl - use utf8; #って何だ? id:otsuneに建設予定フラグがたてられていたので。 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech Perl の utf8 関係が未だ全く理解できない。わからないことがわからないので整理 use utf8はいつフラグをたてるか use utf8 しててもフラグたたないことがある…… これは、以下の実例を見ていただくのが一番よいだろう。 #!/usr/bin/perl use strict; use warnings; use utf8 (); sub check_flag{ my $str = shift; print qq("$str" ), utf8::is_utf8($str) ? 'is' : 'IS NOT',

    perl - use utf8; #って何だ? : 404 Blog Not Found
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    sbg3
    sbg3 2009/06/12