Module::Installをつかっていたり、cartonをつかっていたり依存モジュールがPerl 5.18でコケたりしてPerler以外にとってインストールが難しい状態でしたが、このたび整理してCPANにリリースしました。 これでPerler以外にとっても簡単にインストールできるようになったと思いますのでお試しください。 # webからcpanm(CPANパッケージマネージャ)を読み込んでローカルにインストール # 権限の問題でインストールできなければ | perl - --sudo Text::Md2Inao で curl -L http://cpanmin.us | perl - Text::Md2Inao https://github.com/naoya/md2inao
今さらながら、 CGIの神話と現実というエントリ。ただし内容とはまったく関係なし。スクリプト言語の shebang 行(#!)でスクリプトインタープリタを直接書かずに /usr/bin/env でラップするという悪習はいったい誰が広めたんだろうか。ruby な人に多いように思うがそれだけじゃないし。 hoge というインタープリタを使うスクリプトの1行目をたとえば #!/usr/bin/env hoge としておくと、hoge の実行バイナリが /usr/bin/hoge でも /usr/local/bin/hoge でも $HOME/bin/hoge でもどこにあってもパスが通ってさえいれば起動できる。それはメリットなんだろうか。わしにはむしろデメリットにしか思えない。 /usr/bin/env を使うというのは、PATH の値にしたがってインタプリタの場所を探すという意味である。つまり
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 で Parallel::ForkManager を使うとそういう処理も簡単に書けて便利なのですが、何度も同じようなコードを書くうちに、これもうちょっと抽象化したら使いやすいかも、と思って Parallel::Benchmark というモジュールを書いてみました。 リポジトリはこちらです。 https://github.com/fujiwara/p5-Parallel-Benchmark たとえばフィボナッチ数 fib(10) を求めるベンチマーク。 use Parallel::Benchmark; sub fib { my $n = shift; return $n if $n == 0 o
lestrratです。本日めでたく正式にSTFがオープンソースとしてlivedoor ラボ EDGE上でリリースされました! プレスリリースはこちら。 いままでちょこちょこと先出し先出しで情報をだしていましたが、これで本当に本当の正式公開です。一応上記のサイト以外に「公式」サイト的なものも用意しました。ソースコードはgithub上に公開されています。ということで使って欲しいので紹介記事です。 STFは分散オブジェクトストレージです。Perlメインの似たようなシステムとしてはMogileFSが有名ですが、STFは後発のメリットを生かしてPSGI互換にしたり、使用するプロトコルを基本的にHTTPというオープンで枯れた技術を採用したりとメンテナンス・運用の利便性があがっていると考えています。 歴史 STFは元々ApacheモジュールといくつかのPerlワーカーで書かれていましたが、ひょんなことか
Distributed Object Storage Made Easy! Use commodity hardware/software to build your own scalable object storage! Learn more » What is STF? STF is a simple, yet very scalable distribute storage system. STF powers sites like livedoor Blog, loctouch and many more, serving gigabytes after gigabytes of data. On one such system, it's serving 400Mbps of image at peak hours without a hitch. GET STF! STF i
[を] Perl 標準入力と utf8 404 Blog Not Found:perl - PerlIO vs. <> それ use open - odz buffer use open ':std'を使うのが一番短く済む気がする.この場合STDERRも:utf8を通しているのでencodeせずに出力することができる. #!/usr/bin/perl use strict; use warnings; use utf8; use open ':utf8'; use open ':std'; while (<>) { print if (/[ぁ-ん]/); print STDERR "$_\n"; } use open ':std'はperldoc openで説明されている. The ":std" subpragma on its own has no effect, but if comb
WindowsでPerl 5.8/5.10を使うモンじゃない 2008.01.17 3008.02.13改版 長い間に,私はPerlを使うときに次のようなテンプレートを使うようになっていた。 #!perl # utf8でセーブ # --------------------------------------------------- # @ARGV = map { decode('cp932',$_) } @ARGV ; # --------------------------------------------------- # opendir(D,encode('cp932',"表")) ; # @nodes = map { decode('cp932',$_) } readdir(D) ; # closedir(D) ; # -----
PerlCasual #4 (2011/4/28, 池袋ジュンク堂)で行ったトークのスライドです。 動画をYouTubeで公開しているので、あわせてご覧ください。http://youtu.be/kLt2aYN7UYE, http://youtu.be/xVC9pqCe8cE Read less
エントリの続きはこちら→CPANモジュールのアンインストール(改良版) - ヒルズで働く@robarioの技ログ あるCPANモジュール(以下ディストリビューションと呼びます)をアンインストールしてみます。 まずは色々紹介しながら回りくどくやってみます。最後に簡単な方法を紹介します。 消したいディストリビューションを確認 自分が消したいディストリビューションが分からなかったら、 % perldoc -tT perllocal | grep Module # 見た目より速さ優先ならこっち % grep Module `perldoc -l perllocal` でインストール履歴が出ます。perllocal.podにはインストールしたディストリビューションの一覧が時刻と共に記録されていて「昨日インストールしたアレアレ…何だっけ?」という時には割と使えます。 モジュール名とディストリビューショ
信じられない間違いを犯していましたぁ!!(><) aliasを書き直しました。 もし以前のaliasを持っていたら、見比べてニヤニヤしてくださいヽ(;´Д`)ノ 何かCPANPLUSでdistroprefsが使えない(CPANモジュールのオレオレパッチ - ヒルズで働く@robarioの技ログ)ので、一旦CPANに戻ってきました。 それで、CPANではアンインストールコマンドが無いので、cpan-uninstall(CPANモジュールのアンインストール - ヒルズで働く@robarioの技ログ)を使うわけなんですが、色々あってcpan-uninstallを改良しました。 コード(aliasとしてワンライナーで実装) alias cpan-uninstall='\perl -MExtUtils::Install -MExtUtils::Installed -e "unshift@ARGV,n
たとえばこんな。 Rakudo Star ではどれも実装済み。今すぐ使えます。 強化された正規表現 Perl 6 の公式なパーサ自体も Perl 6 の正規表現で書かれています。 ……は置いといて。10行ちょっとで CSV をパースする正規表現が書ける。クォートされた値にも複数行にまたがる値にも対応。 # CSV クラスは以下のものを修正して使っています # http://github.com/masak/csv/blob/master/lib/Text/CSV.pm # 正規表現をまとめた grammar (クラスの一種) grammar CSV { regex TOP { ^ <line> ** \n <empty_line>? $ } regex line { <value> ** ',' } regex value { | <pure_text> | \s* \" <quoted_
ケータイ向けSNS「モバゲータウン」で知られるDeNAは、Web企業としての側面は見えづらい。PC向けのECサイトやオークションサイトも運営しているが、比率として大きいのはケータイ関連事業だからだ。しかし、サーバ側を見てみれば、mixiやlivedoorと同様のWeb企業。PerlやMySQLを使いこなしてスケールアウトするノウハウに長けたエンジニア集団を抱えている。モバイル向けOpenSocial対応のプラットフォーム「モバゲーオープンプラットフォーム」を実装した2人のエンジニアに話を聞いた。 「オークションサイトのビッダーズや航空券販売サイトのSkygateではJavaが使われていますが、それ以外はほとんどPerlですね」 こう語るのは、DeNAの木村秀夫氏(ソーシャルメディア事業本部プラットフォーム統括部 システムグループ)だ。モバゲーはもちろん、「みんなのウェディング」や「ネッシー
CGI.pmとUTF8 flag CGI.pmとuse utf8またはuse encodingを一緒に使うと、 #!/usr/bin/perl use strict; use warnings; use utf8; binmode STDOUT, ":utf8"; my $q = CGI->new; print $q->header(-charset=>'utf-8'); print "「" , $q->param('test'),"」が入力\n"; これはうまく動かない。testの部分が文字化けする。use utf8、binmodeの代わりに use encoding "utf8"; としても同じ。 なぜかと言えば、$q->param('test')の戻り値が、utf8 flagがoff、あるいは変な状態でonになっているのが原因だと思われ。use utf8ではflagはたたないし、us
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く