タグ

Perlに関するtrappleのブックマーク (229)

  • http://diary.lampetty.net/20060816.html

  • perldelta - perl v5.8.8 の新機能

    名前 perldelta - perl v5.8.8 の新機能 説明 このドキュメントでは 5.8.7 リリースと 5.8.8 リリースとでの相異点を 説明します. 非互換となる修正 5.8.7 と意図的な非互換はありません. もしなにか非互換と思われる事項が ありましたら, それらはバグでしょう. ぜひ報告をお願いします. コアの機能拡張 Gisle Aas の提供したパッチのおかげで, chdir, chmod 及び chown は, システムがそれぞれ fchdir, fchmod 及び fchown をサポートしていれば, ファイル名でと同じように ファイルハンドルに対しても動作します. モジュールとプラグマ Attribute::Handlers はバージョン 0.78_02 にアップグレードされました. ドキュメントの誤字修正. attrs はバージョン 1.02 にアップグレ

  • いつでもどこでも、すぐに DateTime モジュールを使いたい - iandeth.

    前回のエントリ 「Perlで日付・時間操作 - DateTime モジュールの使い方」で書いたとおり、とっても便利なDateTimeモジュールですが、強いて難点をあげるとすれば、必要な依存モジュールが多いこと = インストールが面倒くさい事かと個人的には思います。shell と make コマンドが使える環境ならば、"$ perl -MCPAN -e 'install DateTime' " で自動インストールしちゃえるのですが、これができない状況: telnet 禁止の環境で cgi 作りたい場合 (無料ホームページサービス等)(顧客のサーバ環境での開発で、クライアントに信用されていない状況とか) サーバの保守・セキュリティ体制がうんちゃらで make コマンドの利用が規制されている場合 (出くわした経験あり) こんな状況下だと、とたんにDateTimeモジュールを利用する事は難しくなっ

  • hide-k.net#blog: いつでもどこでも、すぐに Class::DBI を使いたい

    仕事でレンタルサーバー上でCGIを書く羽目になったのですが、root権限はおろかシェルも使えない環境なのでCatalystにどっぷりつかっていたボクとしては面倒くさくて気が狂いそうです。 特にDB周り。 DBI直たたきなんて非人間的な作業をやっているとバグつぶしだけで頭がおかしくなりそうです。 で、なんとかClass::DBIだけでも使えないか調べて見ました。 CDBIが依存しているクラスでXSを使っているのはversionとCloneだけです。 それならある程度環境が整っているレンタルサーバーならなんとかなるだろうってことで調べて見ると、都合のいいことにversionは--perl_onlyオプション付きでMakefile.PLすればPure Perlなクラスを作成してくれるし、CloneはClone::PPなるPure PerlなCloneクラスがありました。 で、やってみました。

  • Register - Situs judi online dan slot online terlengkap Rtp di Indonesia

    REGISTER SITUS SLOT RESMI TERPERCAYA Register sekarang pada situs slot kami, kami merupakan situs slot judi online terpercaya dan resmi kiteya. Pada era saat ini banyak sekali situs situs slot online yang menawarkan promosi sangat menarik. Namun perlu berhati hati karena tidak semua merupakan situs judi slot resmi terpercaya. Kami merupakan agen slot resmi judi online . Segera register sekarang un

    Register - Situs judi online dan slot online terlengkap Rtp di Indonesia
  • CSVデータをお手軽/高速に扱うモジュール作った。 - spiritlooseのはてなダイアリー

    CSVファイルを処理することがあったので、いつもどおりText::CSV_XSを使おうかなぁと思ったんだけど、最近libcsvっていうのを見かけたので試してみることにした。 というわけでPerlから使いたいので、適当にモジュール作った。 http://search.cpan.org/dist/Text-CSV-LibCSV/ 使い方は use Text::CSV::LibCSV; csv_parse($data, sub { my @cols = @_; # なんか処理 }); こんだけ。楽チン。 こんなスクリプトでベンチとってみたところ、Text::CSV_XSの倍以上速い。 そんなわけで、そこそこ使えるんじゃないかと思います。 libcsv入れるのがちょっとめんどくさいけどね。 なんか作者にチラッと10行ぐらいのメールしといたら5倍ぐらいになって帰ってきてる・・・ バグ報告もたっぷり。

    CSVデータをお手軽/高速に扱うモジュール作った。 - spiritlooseのはてなダイアリー
  • hide-k.net#blog: perlで機種依存文字を取り扱う

    「D-5 出張版:機種依存文字入りのShiftJISを扱う」を読んで大変タイムリーだったので実験して見ました。 はてぶのコメントでmiyagawaさんが decode("cp932", $buf) でいい気が とおっしゃられているので こんなんで実験してみました。 JISやEUCを取り扱うのでEncode::Unicode::Japanseを使って見ました。 取り扱うtext.txtは機種依存文字や半角カタカナを含んだこんなファイル。 #!/usr/bin/perl use strict; use warnings; use Encode::Unicode::Japanese; use Encode qw/encode decode/; _encode (qw/text.txt shift_jis sjis-utf8.txt utf8/); _encode (qw/text.txt shi

  • 文字コードとエンコーディング (2)

    機種依存文字とは JIS X 0208 には未定義領域が存在します。ここに ベンダが勝手に文字を定義したものを機種依存文字と言います。 機種依存文字の種類と文字コードについては http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/index.html が便利です。特に、こちらには Windows 環境がなかったので、 とても参考になりました。 半角カナとは 半角カナとは、JIS X 0201 の右半面にあるカタカナ文字です。 Shift_JIS、EUC-JP では、半角カナを使っても構いません。 しかし、ISO-2022-JP では使ってはいけないのです。 再度確認しておきますが、JIS X 0208 や JIS X 0201 などは 文字の番号を決めている文字集合です。一方、Shift_JIS・ EUC-JP、ISO-2022-JP な

  • Perl の数値変換

    Last Updated: 2002/03/26 Perl で、16進文字列、10進整数、2進文字列、バイナリー文字列の相互変換を行うための、スクリプトメモです。 特に断っていない限り、Perl 5.001 以上で動作します。 目次 16進文字列からの変換 10進整数からの変換 2進文字列からの変換 バイナリー文字列からの変換 16進文字列→10進整数への変換 hex() 関数は、16進文字列を整数値に、手軽に変換できます。 $num10 = hex("4A"); # $num10 には 74 が入る $num10 = hex("FFFFFF"); # $num10 には 16777215 が入る 余談ですが、数値リテラル中では 0x に続けて 16 進数で記述することで、数値を表すことができます。 $num10 = 0x4A; # 74 $num10 = 0xFFFFFF; # 1677

  • Plagger とプラグインシステム: blog.bulknews.net

    Plagger とプラグインシステム というわけでここ数日 Plagger Blog みたいになってますがご容赦を。Plagger ネタを追いかけたい方は del.icio.us の plagger タグ でほぼ網羅できているとおもうので、ここをチェック。 で、Plagger とプラグインシステムです。「なんで Plagger はプラグインをコアの中にいれて配布しているの? 別個に配布したほうが便利なのに」 という疑問を当然お持ちの方もいるかとおもいました。 ここはだいぶ議論になったところで(といっても IRC チャネル #plagger-ja で小1時間しゃべっただけですが)、実際に Trac でチケット #44: Reorganize plugin directories in SVN も切られてます。 ただ、現状は svn の plagger/lib/Plagger/Plugin 以

  • Perl5.8 での Unicode 文字列の注意点

    Amazon Search とかを EUC ベースから UTF8 ベースで実装し直したのですが、場合によって length や substr 等の文字列関数で処理が違うことが判明。備忘録として記事にしました。 Perl5.8 では Unicode 文字列に対して UTF8 フラグという内部データを設けて、その有無によって文字単位で扱うかバイト単位で扱うかを決定しています。また UTF8 フラグの ON/OFF は utf8 モジュールのutf8::encode() と utf8::decode() によって操作できるようになっています。 バイト単位でUnicode文字列を扱いたいときは、utf8::encode() によって、UTF8 フラグを OFF に、文字単位でUnicode文字列を扱いたいときは、utf8::decode() によって、UTF8 フラグを ON にする必要があります

  • File::Path

    NAME File::Path - Create or remove directory trees VERSION 2.18 - released November 4 2020. SYNOPSIS use File::Path qw(make_path remove_tree); @created = make_path('foo/bar/baz', '/zug/zwang'); @created = make_path('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711, }); make_path('foo/bar/baz', '/zug/zwang', { chmod => 0777, }); $removed_count = remove_tree('foo/bar/baz', '/zug/zwang', { ve

    File::Path
    trapple
    trapple 2007/01/29
    Dir操作
  • リファレンスの循環参照によるメモリリークを Scalar::Util::weaken で解決する - naoyaのはてなダイアリー

    Perl のガベージコレクション(GC)の実装にはリファレンスカウント方式のGCが採用されています。リファレンスカウントというのは、あるデータ構造やオブジェクトがあった際、それらを参照するリファレンスの数を内部で換算して、その数が 0 になったらメモリから実体を破棄するという仕組みです。(JavaRubyなどの他言語のGC方式については 'PerlJavaRuby における GC アルゴリズム' あたりを。) リファレンスカウント式GCは、仕組みがシンプルで分かりやすい利点を持つ反面、相互参照が原因で参照を切ることができずにオブジェクトが解放されず、結果メモリリークを引き起す場合があるという欠点も持っています。 このメモリリークはバッチスクリプトや CGI のように、一度の実行で Perl のプロセスそのものが終了するプログラムではあまり問題になりませんが、デーモンプログラム、あるい

  • http://books-support.softbank.co.jp/pn/special05-1.html

    trapple
    trapple 2007/01/19
    弱いリファレンス
  • hori-uchi.com: Perlモジュールのバージョン確認

    たとえばこのサーバにインストールされているCGI.pmのバージョンを確認したいなんて時は perl -MCGI -e 'print $CGI::VERSION' なんてコマンドを打ってやれば確認できますが、これをいちいち打つのはめんどくさいので、簡単なスクリプトを書いてみました。 #!/usr/bin/env perl use strict; use File::Basename; use Getopt::Std; getopts('v', \my %opt); die "Usage: ". basename $0. "[-v] [ ...]\n" if @ARGV == 0; no strict 'refs'; for (@ARGV) { (my $path = $_) =~ s{::}{/}; eval {require "$path.pm"}; if ( $@ ) { print

    trapple
    trapple 2007/01/18
    こりゃいい
  • HTML::Strip

  • bayashi.net

    {{tag: go, test, testing, actually }} actually は Go の testing ライブラリです。明示的なインターフェースと一貫性の高いメソッド群、そしてメンテナンスやリファクタリングの際に力を発揮するフェイルレポートを備えています。 [[https://github.com/bayashi/actually ac... つづきを読む

    bayashi.net
    trapple
    trapple 2006/12/29
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    trapple
    trapple 2006/12/28
    [HTTP::MobileAgent]
  • URI::Fetch : NDO::Weblog

    URI::Fetch [ Perl ] search.cpan.org: URI::Fetch - Smart URI fetching (for syndication feeds, in particular)URI::Fetch is a smart client for fetching syndication feeds (RSS, Atom, and others) in an intelligent, bandwidth- and time-saving way. LWP でリモートのコンテンツを取得するにあたって Last-Modified や ETag を抽象化した well-written clients のためのモジュール。Cache::Cache でローカルキャッシュを保持して Last-Modified と Etag に対応、また、Compress::Zlib が

    trapple
    trapple 2006/12/25
    [URI::Fetch]my $cache = Cache::File->new( cache_root => '/memfs/tmp' );
  • Catalyst::Manual::Intro - はじめてのCatalyst

    題名 Catalyst::Manual::Intro - はじめてのCatalyst 説明 ここではなぜ、またどうやってCatalystを使うのかを簡単に紹介します。Catalystの挙動について説明し、簡単なアプリケーションを手早く立ち上げる様子をご覧に入れます。 Catalystとは? Catalystとはエレガントなウェブ・アプリケーション・フレームワークです。きわめて柔軟なのにきわめてシンプル。Ruby on RailsやSpring (Java)、そしてCatalystの元となったMaypoleによく似ています。 MVC Catalystはモデル・ビュー・コントローラ(MVC)というデザイン・パターンを踏襲しているため、コンテンツ、プレゼンテーション、フロー管理といった問題を簡単に切り分けて独立したモジュールにすることができます。こうして切り分けることで他の問題を処