タグ

Perlに関するtyamaguc07のブックマーク (168)

  • Object::Simple::Guide::Ja - search.cpan.org

    NAME Object::Simple::Guide::Ja - Object::Simpleの日語ガイド GUIDE オブジェクト指向プログラミングを行いクラスを作成するとき のひとつのよい習慣は、メソッドのみによってオブジェクトにアクセス することです。オブジェクトにはデータを格納していますが、 この値は属性と呼ばれます。 属性を取得したり、設定したりする場合にも そのためのメソッドを定義するのがよいでしょう。 このようなメソッドはアクセッサメソッドと呼ばれます。 このガイドではアクセッサと呼ぶことにします。 アクセッサの定義は通常は次のようになります。 package Point; sub x { my $self = shift; if (@_) { $self->{x} = $_[0]; } return $self->{x}; } アクセッサは単純で単に属性を設定し、取得

  • Mojoliciousドキュメント 日本語訳プロジェクト(旧)

    Mojoliciousドキュメント 日語訳プロジェクト(旧) Mojoliciousのドキュメントを日語に翻訳するプロジェクトです。 トップページページ一覧メンバー編集 トップページ 最終更新: programeducation 2020年04月29日(水) 17:52:18履歴 Tweet Mojoliciousドキュメントの日語訳はこちらに移転しました

    Mojoliciousドキュメント 日本語訳プロジェクト(旧)
  • bytes.pm will be deprecated in Perl 5.12 - Islands in the byte stream (legacy)

    [追記]その後deprecated(廃止予定)ではなくstrongly discouraged(強く非奨励)に状態が改められたが、使用すべきでないという点は変わらない。[/追記] bleadperlのコミットログを眺めていたところ,以下のような記述があった。 deprecate bytes.pm この件でTwitterで議論が起きたので,Togetterでまとめてみた。 #perl bytes.pmがdeprecatedになった件*1 要点をまとめると以下のようになる。 Perlの文字列モデルを正しく理解していれば,bytes.pmを使う必要はない 入力されたデータををdecode,出力するデータをencodeする,というスタイルを採用すれば,bytes::lengthなどは必要ない たとえば,PSGIの仕様では,encodeした文字列を渡すことになっている decode/encodeが面

    bytes.pm will be deprecated in Perl 5.12 - Islands in the byte stream (legacy)
  • utf8 - ソースコードのUTF-8で書かれた文字列を内部文字列に変換 - Perl入門ゼミ

    Perl › モジュール › here utf8モジュールを使用すると、ソースコード中のUTF-8で記述された文字列を内部文字列に変換することができます。 # ソースコード中にUTF-8で書かれた文字列を内部文字列に変換 use utf8; my $message = 'あいうえお'; ソースコードはUTF-8で保存してください。文字列 'あいうえお' は自動的に内部文字列に変換されます。 utf8プラグマに関するFAQ Q, utf8プラグマの機能についてですが、Encodeモジュールのdecode関数を使って、UTF-8バイト文字列を内部文字列に変換していると考えてよいでしょうか。 A. はい。次の処理を行っているものだと考えてください。 # Encodeモジュールを使って同じ処理を記述 my $str = 'あいうえお'; $str = decode('UTF-8', $str);

    utf8 - ソースコードのUTF-8で書かれた文字列を内部文字列に変換 - Perl入門ゼミ
    tyamaguc07
    tyamaguc07 2011/02/10
    UTF8プラグマのまとめ
  • 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
    tyamaguc07
    tyamaguc07 2011/02/09
    * バイト列を内部表現化するのがdecode * 内部表現をバイト列化するのがencode / * 入力はdecode * 出力はencode
  • utf8オンな文字列のバイト数の取得方法 - Unknown::Programming

    use utf8している時のlengthは文字数を数えてしまうけど、それ以外のときは、バイト数を数えるそうだ。ところで、以下のようにしたらutf8のバイト数が取れるんじゃないかと思うんだけど、あまりutf8文字列のバイト数に需要がないのか、ググっても例が出てこない。 何か見おとしているのかもしれないな。 use utf8; my $bytes = length unpack('a*',$utf8_str); use utf8での文字列のバイト数 これ、僕も昔取得方法わかんなくて困ったことがある。 ってことで啓蒙活動しとく。 bytes::lengthを使います。 use utf8; require bytes; my $bytes = bytes::length $utf8_str; 「require bytes」が大事ね「require bytes」が。もし「use bytes」しちゃっ

    utf8オンな文字列のバイト数の取得方法 - Unknown::Programming
  • bytes - 文字セマンティクスから強制的にバイトセマンティクスを指定する Perl プラグマ

    tyamaguc07
    tyamaguc07 2011/02/08
    use bytes
  • OrePANとcpanmでCPANの部分ミラーを作ってCPANモジュールを管理する - blog.nomadscafe.jp

    これまでサービスで使うCPANモジュールの管理と言えばrpm/debパッケージが主流だと思いますが、最近ではperlbrewで使いたいバージョンのperlをインストールすることもあり、rpm/debでは対応できなくなってきています。 perlbrewのperlに対してプロジェクトが依存しているCPANモジュールを入れる際、 $ perlbrew switch perl-5.12.3 $ cd /path/to/MyProj $ perl Makefile.PL $ cpanm --installdeps . などと cpanm —installdeps が使えます。 しかし、これではサーバを新規セットアップするたびに、最新のモジュールが入ることになりサーバ間でモジュールのバージョンの差異が生まれる可能性があります。 そこで対応策として考えられるのが開発サーバで—installdepsを実行

  • ランダムな文字列を生成するString::Random - Unknown::Programming

    普段から良く使うんでメモ。 DBとかにユニークな値を突っ込む時とかにランダム文字列生成とかよくあること。 で、Perlでランダム文字列を生成しようと思ったらString::Randomがオススメ。 色々作り方があるんだけど一番便利なのはrandregexメソッド。 use String::Random; my $rand_str = String::Random->new->randregex('[A-Za-z0-9]{32}'); こんな感じで正規表現が指定できるので上記のように書くと32桁の英数字でランダムな文字列を生成してくれる。 ちなみにDBに突っ込む目的ならDBIx::Class::RandomStringColumnsってのがString::Randam使用して勝手に突っ込んでくれたりするので便利だったりする。

    ランダムな文字列を生成するString::Random - Unknown::Programming
  • perldoc.jp

    このサイトは Perl の公式ドキュメント、モジュールドキュメントを日語に翻訳したものを表示するサイトです。 サイト内の翻訳データは、有志が翻訳しているperldoc-jp/translationから取得しています。 最近の更新 / RSS commitログから最新の50件を取得しています。稀に翻訳者とcommitした人が違う場合があります。また、修正のcommit、登録しただけで未翻訳のものも含まれる場合があります。 2024-02-04 github.com ppc0018-module-true / melonsode 2024-02-03 Data::Dumper Dumper(2.183) / melonsode 2024-01-25 github.com ppc0016-indexed-builtin / kobaken 2024-01-08 perlclassguts(5.

  • Mojoliciousアプリケーションをmod_perlでデプロイする方法 - $shibayu36->blog;

    最近Mojolicious + SkinnyもしくはTeng + XslateでWebアプリを書いているんですが、デプロイ作業をやってみたので、そのまとめです。合わせて以下の記事も読んでみてください。 Mojolicious + Xslate + SkinnyでMVC開発環境 - $shibayu36->blog; Mojo + Skinny + Xslateの雛形を作成するFlavorを作った - $shibayu36->blog; debianにmod_perl2をインストールする - $shibayu36->blog; capistranoでperlアプリケーションを簡単にデプロイ - $shibayu36->blog; デプロイ時の前提 今回のアプリケーションは以下のような前提でデプロイ作業を行います。 OSはdebian 5 サーバはApache + mod_perl WAFはM

    Mojoliciousアプリケーションをmod_perlでデプロイする方法 - $shibayu36->blog;
  • Perl のモジュールローダー選定委員会 - tokuhirom's blog

    UNIVERSAL::require$module->require() or die $@ ってかけるのが cool という話ではあるのだが、UNIVERSAL をつかうのに抵抗があるかもしれない。 そして、Module::Load にたいする優位性はとくにないので、最近はあまりつかってない。 Class::Load上記2つにくらべると、機能がおおい。これは Moose から派生したパッケージで、Moose の is_class_loaded 相当の機能もそなえている。 Moose 由来ということで、%INC の中にはいっていなくても、package がすでにつかわれていれば、ファイルをよみにいかないという点がすぐれている。具体的には package Foo; sub bar { } package main; use Class::Load qw/load_class/; load_c

  • 最近は local::lib を直接つかわないでもいきていけるという話 - tokuhirom's blog

    wget --no-check-certificate http://cpanmin.us/ perl cpanm -l extlib My::Favorite::Moduleってやれば、extlib/ にモジュールをインストールしてくれる。cpanmin.us からとれる script は、コア以外にまったく依存してないので、すぐつかえる。 あとは以下のようにしたらライブラリパスがとおります。 perl -Mlib=extlib/lib/perl5 myscript.pl これで基的には大丈夫だとおもいます。

  • http://fleur.hio.jp/perldoc/

  • Catalyst::Manual::ActionsとCatalyst::Action系のモジュールの個人的な要約 - libnitsuji.so

    Catalyst::Manual::Actions - Catalyst Reusable Actions - metacpan.org DESCRIPTION 再利用可能なアクションについて。どう動くか。既存のアクションとあなたが書くアクションについて。アクションはメソッドの属性でメソッドコールの前後に機能する。共通に使用するアクションを記述する。 USING ACTIONS 簡単。よく使ってるディスパッチ用のアクション(LocalとかPrivateとか)と同じ感じだ。 sub Hello :Local :ActionClass('SayBefore') { $c->res->output( 'Hello '.$c->stash->{what} ); }この例ではHelloを実行する前にSayBeforeていうアクションを実行する。次のセクションで実装方法を示す。Catalyst::Ac

    Catalyst::Manual::ActionsとCatalyst::Action系のモジュールの個人的な要約 - libnitsuji.so
    tyamaguc07
    tyamaguc07 2011/01/28
    ActionClass
  • 404 Blog Not Found:perl - Encode 入門

    2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(

    404 Blog Not Found:perl - Encode 入門
    tyamaguc07
    tyamaguc07 2011/01/27
    いまさらながらはてぶ
  • PSGIアプリケーションをリバースプロキシ下で使う際の静的コンテンツの配信方法について - blog.nomadscafe.jp

    PSGIアプリケーションをリバースプロキシ下で使う際の静的コンテンツの配信は、リバースプロキシー側で行う事が多いと思うのですが、こうやるのが良いんじゃないかという案。 プロジェクトのトップディレクトリにhtdocsを作成し、その中にfavicon.ico、staticディレクトリをいれます $ ls -l /path/to/myproj/htdocs Total xxx -rw-r--r-- 1 user user 1406 Jun 30 2010 favicon.ico drwxr-xr-x 6 user user 204 Jan 21 16:39 static $ ls -l /path/to/myproj/htdocs/static Total xxx drwxr-xr-x 4 user user 136 Jun 30 2010 css drwxr-xr-x 11 user user

  • [Perl]evalの中で起こったエラーを検出する

    この前、実稼働中のかなり古いコードの不具合対応ということで、そのコードをチェックしていたのですが、その中で my $dbh = DBI->connect(...); eval { my $sth = $dbh->prepare(...); $sth->execute; $sth->finish; }; みたいな箇所(上のコードは実物じゃないですよ)があったんですね。で、evalで被ってやるのはまあ100歩譲って「仕方ないなあ」で済ませましたけど、よりによって、$@に入ってきた値をキャッチするロジックがなかったんです。 当然エラーとかが起こってもエラーログすら吐かず、何わぬ顔で突っ走ってしまう。そんなわけで、SQL周りの不具合を見つけるのに数時間を要してしまったわけです。 その場ですぐに修正パッチを作成・適用して事なきを得ましたが、僕は心の奥底で思いました。「evalの中でエラーが起こった

    tyamaguc07
    tyamaguc07 2011/01/27
    dieしたら自動的にwarnを吐かせる方法
  • Perl公式ドキュメント日本語版

    このサイトは Perl の公式ドキュメントを日語翻訳したものを表示するサイトです。翻訳データは、perldocjp project からとってきたものです。 類似のものに perldoc.jp がありますが、それよりもみやすくなるようにがんばってみました。 ドキュメント一覧 概要(overview) perl - Perl の概要 perlrun - perl コマンドの実行とオプションについて チュートリアル perldebtut - デバッグのチュートリアル perlopentut - Perl でいろんなものを開くためのチュートリアル perlpacktut - pack と unpack のチュートリアル perlreftut - Mark によるリファレンスに関するとても短いチュートリアル perlretut - Perl の正規表現のチュートリアル perlt

  • Catalyst::Manual::Cookbook - Catalystクックブック

    題名 Catalyst::Manual::Cookbook - Catalystでお料理を 説明 ママが昔よく焼いてくれたおいしいコード! レシピ デバッグ画面を強制表示する endアクションでdie()を呼び出すと、リクエストの最後にデバッグ画面を強制表示させることができます。 sub end : Private { my ( $self, $c ) = @_; die "forced debug"; } いちいちこれを書いたり消したりするのが面倒なら、endアクションにこんな条件文を加えることもできます。 sub end : Private { my ( $self, $c ) = @_; die "forced debug" if $c->req->params->{dump_info}; } こうしておくと、たとえばクエリストリングに"&du