タグ

perlに関するiouriのブックマーク (19)

  • http://ja.doukaku.org/278/lang/perl/

    iouri
    iouri 2009/08/10
    当然モジュールはあるよねぇ。あとで試そう
  • regexp - ^$でなくて\A\zを使おう : 404 Blog Not Found

    2009年03月09日00:30 カテゴリLightweight LanguagesTips regexp - ^$でなくて\A\zを使おう まずは回答から。 正規表現で「制御文字以外」のチェック - ockeghem(徳丸浩)の日記 文字エンコーディングの妥当姓 制御文字(\x00〜\x1f, \x7f)のチェック 文字列長のチェック このうち後ろ二つを正規表現として書くにはどうすればいいかを考えていました。 こういう時には、「全文字がOKならOK」と考えるのではなく、「一文字でもNGならNG」と考えると楽になります。それは「スペースと非制御文字以外」なのですから、/[^ \S]/が求めていた正規表現で、=~ではなく!~が使うべき演算子ということになります。全角スペースもOKにしたければ、/[^ \x{3000}\S]/。[追記参照] [Run via Codepad] #!perl -

    regexp - ^$でなくて\A\zを使おう : 404 Blog Not Found
  • 「○x言語はもう終わり」というプログラマは終わり : 404 Blog Not Found

    2009年02月19日22:30 カテゴリLightweight Languages 「○x言語はもう終わり」というプログラマは終わり これ、 Perlはもう終り? | | プログラマ2.0日報 | あすなろBLOG すでにJPAの中の人が完璧に論破しちゃっている FUDを広げるのは誰の得にもならないと思うんだ。 - D-6 [相変わらず根無し] のだけど、お呼びがかかったので蛇足しておくことにする。 まずは各論から。 Perlはもう終り? | | プログラマ2.0日報 | あすなろBLOG 言語仕様が汚い。厳格にはサブルーチンの「引数」という概念がないし、変数はすべてグローバルで特に宣言した場合だけローカルになる...というあたりの仕様は、そりゃインタプリタの実装は楽チンだろうけども、美意識(とミスしにくさ)には欠けるよね。 汚いったって英語や日語ほどじゃない。そして英語や日語が汚い

    「○x言語はもう終わり」というプログラマは終わり : 404 Blog Not Found
    iouri
    iouri 2009/02/20
    弾さんは釣られすぎw誰かがそのうち「Web書評家は滅びるべき」みたいなタイトルで一本釣り始めるんじゃ?
  • perl - open my $fh, "comand |"; # はモダンじゃない : 404 Blog Not Found

    2009年02月10日01:00 カテゴリLightweight Languages perl - open my $fh, "comand |"; # はモダンじゃない モダンPerl入門 牧大輔 「モダンPerl入門」発売記念ということで、同書を補足するentryを。 同書でちょっと残念だったのが、[5.2 外部コマンドの実行]。あまりモダンではないのだ。 P. 141 system("/sbin/wget", "http://example.com"); これはいいのだが、以下がちょっとまずい。 my $output = `/bin/ls tmp`; open(my $fh, '| cat -v'); これ、何がまずいか、というと、コマンド実行の際に/bin/shを使ってしまうのだ。そのおかげでcommand < from > to 2&>1のようなリダイレクトも使えるなどの利点もあ

    perl - open my $fh, "comand |"; # はモダンじゃない : 404 Blog Not Found
    iouri
    iouri 2009/02/10
    open my $fh, '|-' or exec qw/cat -v/ or die $!; 5.6ではこう書けばよかったのですね。
  • SQLiteを使ったテストのtips

    DB周りのモジュールを開発している場合、テストDBSQLiteを使う事が良くあります。 その際、普通であれば以下のようなテストコードを書くと思います use Test::More tests => 1; use DBI; do { # SQLiteで使うファイルを指定 my $dbh = DBI->connect('dbi:SQLite:./test.db','',''); $dbh->do(q{CREATE TABLE foo (id INT, name TEXT)}); $dbh->do(q{INSERT INTO foo (id, name) VALUES (10,'nekokak')}); my $sth = $dbh->prepare('SELECT * FROM foo'); $sth->execute; my $row = $sth->fetchrow_hashref();

  • perl - LWP::UserAgentで進捗表示しつつダウンロード : 404 Blog Not Found

    2008年11月21日00:15 カテゴリLightweight Languages perl - LWP::UserAgentで進捗表示しつつダウンロード 後のデザートとして手頃なサイズの問題だったので。 Ruby Net::HTTP で進捗表示しつつダウンロードのメモ - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech #!/usr/local/bin/perl # # $Id: lwp-callback-example.pl,v 0.1 2008/11/20 15:16:48 dankogai Exp dankogai $ # use strict; use warnings; use LWP::UserAgent; use File::Basename; my $uri = shift || die "$0 http://example.com/bi

    perl - LWP::UserAgentで進捗表示しつつダウンロード : 404 Blog Not Found
    iouri
    iouri 2008/11/26
    LWP::UserAgentのコールバック関数で進捗表示
  • Ground-SunLight

    — y2sunlight ,Since 2019-10-02 Ground Sunlight は「Windowsで作る - PHPプログラミングの開発環境」をテーマにしたサイトです。 オープンソースを利用している全ての人達に祝福を!

  • perl - no accessor; # だって遅いんだもん : 404 Blog Not Found

    2008年07月08日15:30 カテゴリLightweight Languages perl - no accessor; # だって遅いんだもん まずはDCONWAY先生のお言葉から。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] Always use fully encapsulated objects. オブジェクトは常にカプセル化して用いよ これはperlの常識というより、OOの常識であるのだけど、これがperlの実装と重なることにより、perlにおいては他の言語よりも作法を破りたくなるインセンティヴが大きいのは否めない。 カプセル化のコストが、あまりに大きいのだ。 以下は、ハッシュ、ハッシュリファレンス、そしてハッシュリファレンスによるオブジェクトの性能をベンチマークしたものだ。最初が初期化、次が accessor と

    perl - no accessor; # だって遅いんだもん : 404 Blog Not Found
    iouri
    iouri 2008/07/08
    珍しく、「これだからperl使えない」ってdisる人がまだ来てない。
  • perl - 暗黙的な参照 # @_ と $_ : 404 Blog Not Found

    2008年07月06日19:30 カテゴリLightweight Languages perl - 暗黙的な参照 # @_ と $_ Good Question! @_の要素の$_[0],$_[1]等は、格納するべきアドレスが可変! - 燈明日記 なぜ、こんな仕様にしたのだろうか・・・。 Good Question だけあって、Good Reasons もきちんとあります。 @_と$_の秘密 まず、事実を再確認しておきましょう。 Perlにおいて、引数を格納する配列@_は、常に参照(reference)です。値(value)ではありません。 これが何を意味するかというと、@_への書き込みが、呼び出し元への書き込みとなるということです。 実際に様子を見てみましょう。 [Run via CodePad] sub inc { ++$_[0] } my $a = 0; print $a, "\n"

    perl - 暗黙的な参照 # @_ と $_ : 404 Blog Not Found
    iouri
    iouri 2008/07/07
    気持ち悪いといえばそうなんだけど、@_や$_が無いとめんどい。//foreach my $elem(~も参照なのね。
  • Text::CSV::Simpleの使い方。 - s_おぼえがき。

    NAME Text::CSV::Simple METHODS new my $parser = Text::CSV::Simple->new(\%options); 新しく作るとき。optionsはText::CSV_XSと同じ。 read_file my @data = $parser->read_file($filename); $filenameにCSVファイルパスを与える。 ファイルの内容を解析し,リストでデータを返す。 want_fields $parser->want_fields(1, 2, 4, 8); read_fileをする前に,欲しているデータ列番号を設定しておく。 こうしておくと,設定した番号の列のみリストに入れられる。 番号は0から。 fiels_map $parser->field_map(qw/id name null town null postcode/)

    Text::CSV::Simpleの使い方。 - s_おぼえがき。
  • 第1回 Perlの文法の基本

    Perlとは何か Perlはテキスト処理に特に優れた非常に強力なプログラミング言語です。でも,うまく使えばシステムをきれいに掃除させることもできますし,さらにあなたの心もいやしてくれるに違いありません。また,多くのディストリビューションで標準的にインストールされていますし,自分でインストールすることも難しくはありません。 「PerlってCGIじゃないの?」と思う方がいるかも知れません。確かに,CGIで利用するためにPerlに出会った人は多いでしょう。主な利用方法といえば,Webアプリケーションの作成かもしれません。しかし,「プログラミングPerl」*1によれば,Perlは最初,システム管理のためのツールとして作られたものだったのです。 FedoraなどのLinuxディストリビューションでは導入時に開発環境を選ぶとPerlがインストールされます。同時にPerlのドキュメントもインストールされ

    第1回 Perlの文法の基本
    iouri
    iouri 2008/06/03
    うああああ、と思ったらちゃんとdankogaiの解説が入ってた。データ加工用に使い捨てにするスクリプトならopen INってやっちゃう(汗)
  • perl - 配列を1番目からはじめてみる : 404 Blog Not Found

    2008年05月25日01:15 カテゴリLightweight Languages perl - 配列を1番目からはじめてみる 配列の先頭要素が「0番目」であることは気持ち悪いか…「N番目」という言葉を考察してみる - ’(rubikitch wanna be (a . lisper)) JavascriptPHPの配列や関数などで 配列の最初の要素がary[0]に格納されたりsubstring()関数の起点がゼロであったりしますが ゼロでなく1ではダメなのでしょうか。個人的.. - 人力検索はてな C言語、Ruby、Lispなど多くの言語では配列は0起点である。つまり、先頭の要素のインデックスは0である。 「小飼弾のアルファギークに逢ってきた」でも、インタビューは#0からはじまっているのだけど、これを自由に設定できてしまう類い稀なる言語が存在する。 perlだ。 あまり知られていない

    perl - 配列を1番目からはじめてみる : 404 Blog Not Found
    iouri
    iouri 2008/05/27
    $#hogeとscalar(@hoge)の関係に加えてさらに混乱しそう。使わないよ!w
  • perl - で(Recall()|arguments.callee()|&?BLOCK()) : 404 Blog Not Found

    2008年05月01日20:30 カテゴリLightweight Languages perl - で(Recall()|arguments.callee()|&?BLOCK()) Perl Coreだけで同様のことを実装できないかと考えたらあっさり出来たので。 Perl で JS の arguments.callee 的なことしようと思ってハマった - IT戦記 それDevel::Caller でできるよ - TokuLog 改め だまってコードを書けよハゲ test run via codepad sub recallable_sub(&) { use B::Deparse; my $coderef = shift; my $src = B::Deparse->new->coderef2text($coderef); $src =~ s{\bRecall\s*\(}{\$coderef

    perl - で(Recall()|arguments.callee()|&?BLOCK()) : 404 Blog Not Found
    iouri
    iouri 2008/05/02
    ここまでやるなら素直にsubの外で変数宣言するよw
  • perl - 勝手に添削 - 神経質(A型)なPerlハッカーあるある : 404 Blog Not Found

    2008年03月14日12:45 カテゴリLightweight LanguagesTips perl - 勝手に添削 - 神経質(A型)なPerlハッカーあるある あきまへんなあ。 神経質(A型)なPerlハッカーあるある - D-6 [相変わらず根無し] if ($foo eq 'XXX' || $foo eq 'YYY')を if ($foo =~ /^(XXX|YYY)$/) に書き直したくなる 速度的にも、正規表現よりも eq || eq の方がいい場合が多いのよ。 #!/usr/local/bin/perl use strict; use warnings; use Benchmark qw/timethese cmpthese/; my @mongers = qw/dankogai dconway dmaki drolsky/; my %who = map { $_ => 1

    perl - 勝手に添削 - 神経質(A型)なPerlハッカーあるある : 404 Blog Not Found
    iouri
    iouri 2008/03/15
    そんなこと、最初からラクダ本に書いてあるような?
  • perl - 5.10.0 released! : 404 Blog Not Found

    2007年12月19日12:00 カテゴリLightweight LanguagesAnnouncement perl - 5.10.0 released! その 20歳の誕生日に、Perlは5.10.0になりました。 Rafaël Garcia-Suarez / perl-5.10.0 - search.cpan.org 日時間では一日後の12月19日 03:11ですが、GMTではまだ12月18日。当初スケジュールより2ヶ月ほど押しましたが、ついに誕生です。 Dan the Perl Monger From: rgarciasuarez@gmail.com Subject: Perl 5.10.0 is released Date: December 19, 2007 03:11:46 JST To: perl5-porters@perl.org Message-Id: <b77c1d

    perl - 5.10.0 released! : 404 Blog Not Found
    iouri
    iouri 2007/12/19
    ついに5.10.0リリース!
  • screen をインストールする (talk to oneself 2)

    Hazama.nu is a website that started in 2002, created by a writer who wanted to have a platform to express his thoughts and opinions. The site had a range of categories covering a variety of topics such as cars, books, programming, games, and more. The site was powered by Movable Type – a powerful content management system and static publishing platform that makes site management easy. The Beginnin

    screen をインストールする (talk to oneself 2)
  • perl - 文字列ばらしはsplit //, $strで : 404 Blog Not Found

    2007年11月27日13:30 カテゴリLightweight Languages perl - 文字列ばらしはsplit //, $strで うーん、ここがあきまへん。 [を] 転置インデックスによる検索システムを作ってみよう! 9 my @char = ($c =~ /([\x00-\x7f]|[\xC0-\xDF][\x80-\xBF]| 10 [\xE0-\xEF][\x80-\xBF]{2}| 11 [\xF0-\xF7][\x80-\xBF]{3})/gsx); 文字列をばらして(utf8の)文字一つ一つの配列にするには、バイト列に正規表現をかますのではなく、utf8文字列にしてからそれにsplit //をかますのが一番です。単にわかりやすいだけではなく、その方がずっと高速です。以下、Benchmark。 #!/usr/local/bin/perl use strict; u

    perl - 文字列ばらしはsplit //, $strで : 404 Blog Not Found
    iouri
    iouri 2007/11/27
    split//で英字1文字づつに分けるってのはラクダ本の解説にあったけど、utf8フラグ立ってるとこうなるんかー!
  • 0行で作るPerl用テンプレートエンジン : ひろ式めもちょう

    60行で作るPHP用テンプレートエンジン http://anond.hatelabo.jp/20071030034313 40行で作るPerl用テンプレートエンジン http://anond.hatelabo.jp/20071030153111 404 Blog Not Found:perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン http://blog.livedoor.jp/dankogai/archives/50940023.html 触発されて表題のPerl用モジュールを作ってみました。 特徴: ・モジュールが小さい。わずか0行 ・高機能。 変数の出力はもちろん、Perlそのままの文字列演算、 ループや条件分岐に対応します ・拡張が自由 お好みのサブルーチンを追加して機能を拡張できます とても便利だと思うので、ぼくのスーパーハッキングテクニックを使ってPer

    0行で作るPerl用テンプレートエンジン : ひろ式めもちょう
    iouri
    iouri 2007/11/01
    吹いたw
  • Perlモジュール/Apache::Session - Walrus, Digit.

    CGI向けのセッション管理モジュール。 なお、Apache::Sessionについては、河馬屋二千年堂でモジュールのドキュメントを和訳したものが公開されています。 私もモジュール同梱の英語版ドキュメントではなく、これを参考にさせていただきました。 また、数字をカウントアップする試験スクリプトは、以下を参考にしました。 (実のところ、この雑誌でApache::Sessionを取り上げていたことにモチベーションされてしまい、泥沼に足を踏み入れたのでした...。) Web+DB PRESS Vol.1(ISBN:4-7741-1124-4) 73p アクセスカウンタ ページは、以下のバージョンに基づいて書かれています。 Apache::Session - 1.54 Apache::Session::File - 1.54 Apaceh::Session::Lock::File - 1.01

    iouri
    iouri 2007/10/02
  • 1