タグ

PerlとTipsに関するmatsutakegohan1のブックマーク (32)

  • PHPの比較の素晴らしさ加減は正常

    if ("0x0A" == "10") { print '(´ε` )チュッ'; } チュッ。されちゃいます。 文字列であっても整数と解釈できる文字列の場合は勝手に型変換しやがる今世紀最大の愚行を犯してしまうってのは有名な話だよね。 文字列であっても整数と解釈できる文字列の場合は自動的に整数に型変換してくれる超便利機能があるってのは有名な話だよね。 だけどなんでコレが一致するかわけがわからんかった。 0x0Aは10進数で10になるので一致する。と、言いたいところなんですがそう単純な話じゃないんだ。 以下の例を目ん玉見開いて見て欲しい。 var_dump(0x0A); var_dump("0x0A"); var_dump((int)"0x0A"); var_dump((float)"0x0A"); var_dump(intval("0x0A")); 実行結果 int(10) string(4

    PHPの比較の素晴らしさ加減は正常
  • 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
  • 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
  • さくらインターネットサーバでのCPAN導入を完全に手順化して見た - Perl入門ゼミ

    Perl › 環境構築 (この記事の内容は古くなっています、現在はcpanmを使ってモジュールをローカルにインストールするのが簡単でしょう。cpanmによるローカル環境構築を見てください。) otsuneさんのところでさくらインターネットのレンタルサーバでCPANを使用する方法が紹介されているのですが、一部手作業が発生するので、すべてコピペで実行できるように手順化してみました。 さくらインターネットサーバcpan導入手順 # ライブラリのためのディレクトリの作成 mkdir -p ~/local # CPANの設定ファイルを作成 echo no | cpan # cpanコマンドの設定ファイルMyConfig.pmの書き換え # ( __END__の行まで一気にコピーして実行してください。とまった場合はEnter ) perl - ~/.cpan/CPAN/MyConfig.pm > ~/

    さくらインターネットサーバでのCPAN導入を完全に手順化して見た - Perl入門ゼミ
  • 一行野郎(one-liner)はperlにおまかせ

    序文 もしもプログラミング言語が宗教だったら……(全訳版)[絵文録ことのは]2008/12/21 によると、ブードゥー教徒らしい dankogai です。 ブードゥー教徒らしく、「上司があなたに金曜夜21時に緊急の仕事を命ずるときにしばしば使われる」呪文をここでまとめておくことにします。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e'print "Hello, World!\n"' Hello, world! % ちなみに、perlとコマンド名だけで起動すると、標準入力をスクリプトとして返します。 %

  • perl - B::Deparse : 404 Blog Not Found

    2007年02月11日13:45 カテゴリLightweight Languages perl - B::Deparse 尻馬乗るべし、ということでB::Deparseの紹介。 いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。実は私も、デバッガーはperl -de1ぐらいしか使っていない(perl -de1は非常によく使うので、Terminal.appのウィンドウの一つがそれ専用になっている。スクリプト言語のインタラクティブな利用法に関しては以前「404 Blog Not Found:LL Intaractive」にまとめたのでそちらをご覧頂くとして、ここではなぜスクリプト言語では滅多にデバッガーを使わないかをおさらいした

    perl - B::Deparse : 404 Blog Not Found
  • perl - デフォルト値のperlらしい指定法 : 404 Blog Not Found

    2008年07月02日23:00 カテゴリLightweight Languages perl - デフォルト値のperlらしい指定法 Perl Cookbook (English) Christiansen / Torkington [邦訳: Perlクックブック] これでもよいのだけど、さらに恰好つけるとよりperlらしくなるので。 デフォルト値の扱い。 - サンプルコードによる Perl 入門 Scalarによるデフォルト値 sub num{ my $num = shift; # .... } ここは sub num{ my $num = shift || -1; # .... } の方がわかりやすい。0または''を入力値、すなわち非デフォルト値として扱いたい場合のみ、 sub num{ my $num = shift; $num = -1 if not defined $num;

    perl - デフォルト値のperlらしい指定法 : 404 Blog Not Found
  • Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記

    先日のShibuya.pm #9のLightening Talkで「gdbでXS on mod_perlをデバッグ」という話をしてきました。XSを使い出すと、従来のPerl的デバッグだけでは不十分なのでgdbをうまく使って、効率的にデバッグしましょう、という話です。実は、はてな社内では1年近く前に勉強で話したネタだったのですが、ようやく公開することができました。 Shibuya.pmでは5分という枠があったのでショートver.でしたが、ここでは制限はないので、来のロングバージョンの資料をアップします。ちょっと公開できない情報が混っていたので、xxxで隠していますが、ご了承ください。 ちなみに、Rubyとかでも似た感じでデバッグできると思うので、そちらの人も参考にしてください。長いよ!という人は、最後の「これは設定しておけ的gdb初期化マクロ」だけでもどうぞ。かなり便利です。 (資料公開が

    Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記
  • antipop - Perl の学習コストを大幅に軽減するスゴイ方法

    にわかに Perl の学習コストについて優れた Perler のみなさんがあれこれ述べておられるので、大変勉強になります。 Unknown::Programming - 新人教育 SQLAlchemy Database Engines 日記。 (TokuLog) - Perl は学習コストが高すぎる naoyaグループ - naoyaの日記 - Perl の学習コスト SQLAlchemy Database Engines 日記。 (TokuLog) - Perlの学習コストとライブラリ naoyaグループ - naoyaの日記 - アンテナ張りまくらないとの件 subtechグループ - Bulknews::Subtech - Perl、アンテナの話 Charsbar::Note - Perlの学習コスト 上記にリンクしたエントリをまとめると、オールドファッションな書き方であれば Per

  • 11月08日の技術勉強会 - perlのattributes - はてな技術発表会日記 - 機能変更、お知らせなど

    8月17日の技術勉強会 - Flexレイアウト手書き勉強会 8月17日に行われました技術発表会の内容を撮影した動画ファイル/資料を公開いたしました。内容は以下のとおりです。 テーマ Flexレイアウト手書き勉強会 発表者 d:id:secondlife 勉強会動画 ダウンロード…

    11月08日の技術勉強会 - perlのattributes - はてな技術発表会日記 - 機能変更、お知らせなど
  • いまさら聞けない? 初心者向けPlagger設定覚え書き その1 - Muibrog

    Plaggerをいじってみて、とても便利でなにより楽しくてしょうがない。まだ「それPla」ってほどなんでもできるわけじゃないけど、RSSを配信してないサイトから欲しい情報を取り出すことはできるようになった。意外と初心者向けの手引き的なものが見つからなかったので、初心者向けにメモしておきます。まだ簡単なことしかわからないし、間違ったことも書いてあるかも知れないのでいろいろ試してみながら確認してください。 まずはFilter::EntryFullText(みんなEFTって呼んでるみたい)について。 企業ニュースサイト(新聞社とか)のトップページにあるような自分のサイト内へのリンクのあるHTMLをフィードと変換するときに使うFilter。下のはYOMIURI ONLINEの科学のトップページから科学ニュースを取り出すためのyamlWikipedia)。 author: Toshi custo

    いまさら聞けない? 初心者向けPlagger設定覚え書き その1 - Muibrog
  • いまさら聞けない? 初心者向けPlagger設定覚え書き その4

    いまPla*1 その4です。 その3ではちょっと難しい話になってしまったので今回はできるだけライトに行きたいと思います。前回までに Filter::EntryFullText と CustomFeed::Config をうまく使うといろんなサイトの欲しいところを持ってこられるということを書いてきました。今回はその出力方法に関していくつか取り上げてみたいと思います。 その3までのconfig.yamlでは出力部分はすべてGmailにメールする設定でした。 - module: Publish::Gmail config: mailto: xxx@gmail.com mailfrom: xxx+plagger@gmail.com mailto 宛先です。ご自分のメールアドレスをどうぞ。 mailfrom 送信元となるメールアドレスです。Gmailではアカウントに対して「+xxx」という風にしても

    いまさら聞けない? 初心者向けPlagger設定覚え書き その4
  • Googleで○○と検索すると○○:実用編

    Notify::Pizzaネタ、大人気です。びっくり。 http://b.hatena.ne.jp/entry/http://e8y.net/blog/2006/07/25/p126.html http://d.hatena.ne.jp/textfile/20060725/pizza http://del.icio.us/url/4b67a8710066baf05fab3c8d253ff02d わくわくさせてくれるフレームワーク Plagger と、おもしろいことをするための言語 Perl に多くの人が興味を持つことになってくれたのなら、わざわざ面倒な方法でピザ頼んだかいがあったというものです。 OSCON での miyagawa さんによる Plagger のプレゼン にもネタとしていれてくださるということで、タイミング的にもよかった。外人にわかりやすく寿司じゃなくてピザにしておいてよか

    Googleで○○と検索すると○○:実用編
  • ここギコ!: はじめてPlagger使ってみた。

    Posted by nene2001 at 00:33 / Tag(Edit): plagger / 0 Comments: Post / View / 1 TrackBack / Google Maps Plaggerが話題なのは知っていたが、特にやりたい事もなかったので手を出していなかった。 けど最近やりたい事が2つほど出来たので、手を出してみた。 判り易いと評判の、竹迫さんのSoftware Design 2006年 10月号の記事を参考に、サクサクサクとインストール。 やりたかった事の一つ目は、最近全然目を通せていないOpenIDのメーリングリストを、忙しくても話の方向ぐらいはざっくり掴めるよう、翻訳されて届くようにすること。 そこ!英語くらい素で読めとか言わない! 届いたメールを読み込んで、 翻訳して、再度メールに送るのだから、使うプラグインは Custom

  • CPANの漁りかた

    Perlの学習コスト高いよね、て感じのエントリが目立つのでふと思い返してみると、ぼくは1年前は 救命病棟でいうところのレベル4くらいでした。変数に our をつけると何がどう違うのかわかなかったりしたのを覚えてます。 その後1年、今はレベル8弱ってとこでしょうか。バグレポートはなるべく出すようにしていますが、車輪になりそうで、モジュールはまだ上げてません。 この1年どうやってレベルを上げてきたかなといえば、CPANあさり、これに尽きます。で、これから Perlやるぞって人にもしかして参考になるかもしれないので、ぼくがやってきた自己流の漁りかたを書いておきます。 1. まずはPerlStyleを読み直す miyagawa さんが以前 WEB+DB PRESS で連載していた Perl Style というのを、総集編マガジンで今も入手可能です。これはロギングとか OR マッピングなどの基的題

    CPANの漁りかた
    matsutakegohan1
    matsutakegohan1 2008/06/30
    いまさらながら、いろいろ考えるとperlも習得してないとまずいなと思う。
  • 仙石浩明の日記: Perl の非同期I/Oモジュール POE を使って VPN-Warp relayagent を書いてみました

    多数の TCP/IP セッションを同時に維持する必要性などから、 非同期I/O が最近流行りのようです。 何をいまさら、という気もするのですが、 いわゆる「最新技術」の多くが 30年前の技術の焼き直しに過ぎない今日このごろなので、 非同期I/O 技術が「再発見」されるのも、 「歴史は繰り返す」の一環なのでしょう。 スレッドが当たり前の時代になってからコンピュータ技術を学んだ人にとっては、 (古めかしい) 非同期I/O が新鮮に映るのかも知れず、 なんだか「ファッションのリバイバル」に似ていますね。 Perl で非同期I/O 処理を手軽に行なうための枠組みとして、 POE: Perl Object Environment というものが あるようです。 POE を使うと、 あたかもスレッドを使っているような手軽さでプログラミングできます。 試しに VPN-Warp の relayagent を

  • 404 Blog Not Found:perl - 万能なnewの書き方

    2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new

    404 Blog Not Found:perl - 万能なnewの書き方
  • 404 Blog Not Found:perl - Regexp::Assembleのススメ

    2007年04月19日15:00 カテゴリLightweight Languages perl - Regexp::Assembleのススメ というわけで、Regexp::Assembleのご紹介。 PERL HACKS(日語版) [英語版] odz buffer - それ Regexp::Assembleん?ループ云々を抜きにして、こういうのは Regexp::Assemble の出番じゃないの? すでにPerl Hackers御用達のモジュールとなっていますが、まだ知らない方もいらっしゃるかも知れないので。 何をするモジュールか、といえば、以下を見れば一目瞭然でしょう。 Regexp::Assemble - Assemble multiple Regular Expressions into a single RE - search.cpan.org use Regexp::Asse

    404 Blog Not Found:perl - Regexp::Assembleのススメ
    matsutakegohan1
    matsutakegohan1 2008/06/30
    正規表現のlibrary、すごい。
  • naoyaのはてなダイアリー - Perl のクロージャ

    いつもお世話になってるあの人とかあの人とかが山口家の逆襲->perl-解説->クロージャというクロージャの解説ページをブックマークしてるのをきっかけに、 Perl のクロージャについて自分もちゃんと理解できてるのかというのを考えてみましたが、どうも微妙です。 クロージャについて、何でいまいち理解しきれてない感じがあるのかというと、クロージャがどういうものであるかは知ってるけど、クロージャをどういう時に使うと良いのかが具体的にあれとこれという感じで思い付かないからなのではないかと思った。 なので、Perl でクロージャを使ってる実装とかを見て、どんなときに使われるものなのかをリストアップして理解を深めてみよう..のコーナーです。 クラスにデータを保持するためのクロージャ 僕がぱっと思いついたのは Class::DBI の中で使われている Ima::DBI におけるデータベースハンドラのキャッ

    naoyaのはてなダイアリー - Perl のクロージャ
  • Perlでオブジェクトを書くときに必要なClass::Accessor とは | ブログが続かないわけ

    SQLAlchemy Database Engines 日記。 (TokuLog) - Class::Accessor は言語の機能としてつけるべきだったよね このエントリの中に次のようなくだりがある。「Perl で書かれたオブジェクトのほとんどって、この2つを継承しているものね。」 最近話題のPerlの学習コストの話とも多少関係があるのだが、PerlではCPANの使いこなしってのが重要なのだ。そこで、Class::Accessor とはどういうものか簡単に説明しよう。 基的には perldoc Class::Accessor perldoc -m Class::Accessor としてもらえばいいのだけれども、もう少し簡単に解説してみる。 (ホントは自分用の備忘録なのだが) オブジェクト指向そのものの話は割愛させてもらいましょう。オブジェクト指向ではメンバ変数に直接アクセスするのは「悪

    Perlでオブジェクトを書くときに必要なClass::Accessor とは | ブログが続かないわけ
    matsutakegohan1
    matsutakegohan1 2008/06/30
    getterとsetterを自動的に作ってくれる!ステキ!