タグ

perlに関するgokigendoriのブックマーク (11)

  • ファイルハンドルをめぐる冒険(ただしマニア向け) - daily dayflower

    以下は Perl 5.8.8 のソースを元に記述しました。Perl 5.10 でもそう変わってはいないと思いますが,結構内部が変更されているので違うかもしれません。大まかには同じだと思います。 イントロダクション Perl でのファイルハンドルは内部的には [http://search.cpan.org/perldoc?IO::Handle:title=IO::Handle] オブジェクトとして保持されています。そのような記述は perl5004delta くらいでしか見つかりませんでした。ラクダにもなかったような。 Internal change: FileHandle class based on IO::* classes File handles are now stored internally as type IO::Handle. The FileHandle module

    ファイルハンドルをめぐる冒険(ただしマニア向け) - daily dayflower
  • 現代的なPerlの記述方法一覧 - Perl入門ゼミ

    Perl › here Perl5.8以降における標準的なPerlの書き方を解説します。 インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。 strictプラグマとwarningsプラグマ (必須) strictプラグマとwarningsプラグマを有効にします。 use strict; use warnings; use strict;とuse warnings;の2行はスクリプトの最初に必ず記述してください。これらはPerlの文法チェックを厳しくするためのものです。面倒だという軽い気持ちでこれを記述しないと後々当に面倒なことになります。 use strict;とuse wa

    現代的なPerlの記述方法一覧 - Perl入門ゼミ
    gokigendori
    gokigendori 2009/11/05
    サブルーチン名とか
  • perl - EncodeでXSSを防ぐ : 404 Blog Not Found

    2009年03月03日19:00 カテゴリLightweight Languages perl - EncodeでXSSを防ぐ 良記事。 第7回■文字エンコーディングが生み出すぜい弱性を知る:ITpro だけど、問題点のみ具体例があって、対策にないのが片手落ちに感じられたので、その点を補足。 結論だけ言ってしまえば、Perlなら以下の原則を守るだけです。 404 Blog Not Found:perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これが

    perl - EncodeでXSSを防ぐ : 404 Blog Not Found
  • ファイルハンドルと出力 - 2部 Perl言語仕様 - [SMART]

    ファイルテスト演算子の使い方 $file = "/home/httpd/html/index.html"; # ファイルが存在するか確認 if ( -e $file ){ .... } パイプ UNIX 系 OS 全般や、Windows NT といったサーバ OSには、パイプが用意されています。パイプは、プロセス間で通信するために用意された機構で、標準出力と標準入力を経由してデータを受け渡しするためのものです。これによって、一時ファイルなどを経由せずに、ダイレクトにプログラムが標準出力に出力した結果を他のプログラムの標準入力に渡すことができます。 open でパイプ処理 以下では Perl からパイプを使った例を紹介します。ファイル名の先頭に | を付けると、そのファイル名をコマンドとして解釈し、そのコマンドラインへ出力します。 sendmail を使ってメールを送信する例です。 open

    ファイルハンドルと出力 - 2部 Perl言語仕様 - [SMART]
  • MODULE.JP - 日本語に絡むUnicodeブロックとスクリプト(正規表現)

    といった感じ。ちなみにjava.util.regexとPerlのUnicodeブロックは接頭子Inを使うが、.NETの場合は接頭子Isを使う、という差異があります。 Unicodeスクリプトとブロックの違いがビミョーに見えるけど、ブロックがコードブロックをゴリッと指定したものに対して、スクリプトは特定言語に関係する文字の種類を直接指定するものなのでブロックよりも断定的、って感じで見れば良かなと。ちなみにUnicode関連のドキュメントによるとUnicodeプロパティとスクリプトで日語の文章を表そうとすると m/(?:(?:\p{Hiragana}|\p{Katakana}|\p{Han}|\p{Latin}|\p{Common}) (?:\p{Inherited}|\p{Me}|\p{Mn})?)+/x; こんな感じになるそうな。実際流通している文章はこれより多様なので現実とは微妙に乖離

  • ImageMagick と Image::Magick(PerlMagick) のバージョン対応

    Windows版の ImageMagick は、インストール時に、Perl で ImageMagick を操作するための Perl モジュール Image::Magick(PerlMagick) を、オプション指定でインストールすることができます。 ただし、ImageMagick のバージョンによって、インストールできる Image::Magick のバージョンが異なります。下の図の赤枠は、インストールウィザードの途中で表示される Image::Magick のインストール指定と、そのバージョンです。 この場合、ImageMagick 6.3.7 のインストール時に、ActivePerl 5.8.8 build 822 に対応する Image::Magick をインストールすることを示しています。 以下、ImageMagick のバージョン別に、同時にインストールされる Image::Ma

    ImageMagick と Image::Magick(PerlMagick) のバージョン対応
  • 簡単!オブジェクト指向Perl パッケージ サブルーチン

    オブジェクト指向Perlのしくみを解説します。 Perlモジュールの作り方と使用法についても解説します。 [1] パッケージ名前空間をPerlではパッケージと言います。 デフォールトのパッケージは main パッケージです。 ただしファイルのなかにパッケージ宣言(package ...)の行があると、それ以降に書かれた「グローバル」変数(our 変数)やサブルーチンは、そこで宣言されたパッケージのものになります。 package Foo; our $name = "I am Foo!"; # $name はパッケージ Foo に入る。 # our は付けなくてもいい...。パッケージの及ぶ範囲(スコープ)はつぎに又、別のパッケージ宣言が来るまでずっと続きます。 但しパッケージ宣言がブロック {...} のなかで為された場合は、そのブロックが閉じたところでパッケージのスコープが消えます。 p

    gokigendori
    gokigendori 2009/02/23
    サブディレクトリに配置
  • ourの正確な定義 - web newbie

    社内でperlのmy,our,localについて盛り上がったのでそのあたりに関するポスト。 今回は、ourについて。 いろんなサイトでいろんな書き方されてて、よーわからん、、ということで ... perldoc きちっと追ってくと、ああ納得。 少しでも役に立つかなっと、記事としてまとめてみました。 少しでも役立ったときには、コメントいただけるとものすごく喜びますw ではまず、perldocから。 ここね Perldoc - our our associates a simple name with a package variable in the current package for use within the current scope. When use strict 'vars' is in effect, our lets you use declared global va

    ourの正確な定義 - web newbie
  • Perlメモ/MeCabモジュール - Walrus, Digit.

    以下で、現時点での最新0.96版のPPDファイルと、PPMコマンドでのインストール方法が公開されています。 http://namazu.asablo.jp/blog/2007/06/28/1611341 私が使用しているWindows+ActivePerl 5.8の環境では、ここに書かれているとおり以下を実行することでMeCab?モジュールをインストールできました。 ppm install http://www.akaneiro.jp/PPMPackages/800/MeCab.ppd サンプルスクリプトを参考に、次のようなスクリプトを作成しました。 use MeCab; print $MeCab::VERSION, "\n\n"; my $sentence = "太郎 はこのを二郎を見た女性に渡した。"; my $tagger = new MeCab::Tagger(join " ",

    gokigendori
    gokigendori 2008/03/19
    winでMeCab
  • サーバにインストールされていないPerlモジュールを使うには

    2005年12月14日(水) 20時07分00秒 [Perl/CGI] サーバにインストールされていないPerlモジュールを使うには Perlプログラム中から特定のモジュールを利用するにはuseを使います。requireでも良いですが。違いは、useは実行前に読み込まれ、requireは実行時に読み込まれる点です。 例えば、CGI.pmを使いたいなら、 use CGI; と書けば良いだけです。 で、CGI.pmくらいなら大抵のサーバにインストールされているでしょうが、サーバにインストールされていないPerlモジュールを使いたい場合(使わせたい場合)は、ユーザが自分でファイルを置ける位置にモジュールを置く(置かせる)しかありません。 その場合、use を書く前に、以下のようにモジュールを置いたディレクトリ(フォルダ)を記述しておく必要があります。 use lib qw(./modules);

    サーバにインストールされていないPerlモジュールを使うには
    gokigendori
    gokigendori 2007/12/17
    モジュールのインストールパス
  • livedoor Developers Blog:String::Trigram でテキストの類似度を測る - livedoor Blog(ブログ)

    こんにちは。検索グループ解析チームの nabokov7 です。 今回は、livedoor キーワードでの事例より、テキストの類似度を測るのに便利な手法を紹介します。 livedoor キーワードは、livedoor ブログでその日その日で話題になった語をランキング表示するサービスです。 当初、はてなキーワードやWikipediaを足して2で割ったようなサービスを作れといった開き直った指示のもとで開発が開始されたともいう、分社化前の芸風の名残で、キーワードの検索結果にはユーザが自由に解説を書き込める Wikipedia 的スペースもついています。 で、この解説部分に、さまざまなサイトから文章をまる写ししちゃう人がとても多いのですね。 特に多いウィキペディア日語版からの剽窃を防止するために、livedoor キーワードでは以下のような対策を講じることにしました。 ウィキペディア日語版の解説

    gokigendori
    gokigendori 2007/10/18
    文章解析
  • 1