タグ Perl5
人気順 10 users 50 users 100 users 500 users 1000 usersPerl5の最新動向 - Mobile Factory Tech Blog
こんにちは、エンジニアの id:mp0liiu です。 8月28日(土)の Learn Languages 2021 というイベントの Language Update というセッションで@charsbarさんと一緒に2018年以降のPerl5やPerlコミュニティの最新動向について話してきたので、そのとき話した内容に補足などしつつ記事にしていきたいと思います。 配信アーカイ... 続きを読む
2019年の最先端のPerl開発ボイラープレート - Qiita
Perl Advent Calendar始まりました! @AnaTofuZ ありがとうございます! 今年も元気にやっていきましょう! さて、Perlも実はまだまだ進化しています。 今年はPerl6として開発されていた言語がRakuに名前を変えましたが、 Perl5はPerlとして今後も開発とメンテナンスが続けられていきます。 2019年にPerlを書くそこのあ... 続きを読む
Perl の文法上の新機能が使える feature プラグマ詳解
Perl5 は 5.12 以降、ほぼ1年ペースでメジャーバージョンアップしています。つまり 5.x の偶数 x が +2 されています。 Perl は後方互換性をとても重視した言語で、メジャーバージョンアップで過去の Perl プログラムが動かなくなることはほぼありません。また、バージョンアップによって変わる部分の多くが、速度的な改... 続きを読む
Big Sky :: Perl6 の無限リストとダイナミックバインディングが最強すぎる
Perl には x 演算子があり、x 3 といった具合に繰り返し回数を付ける事で連続した文字列を簡単に作り出すことが出来る。 say 1 x 3; # 111 say "foo" x 3; # foofoofoo これは Perl5 でもお馴染み。しかし Perl6 の Range は凄い。 say 1 xx 3; # (1 1 1) say "foo" xx 3; # (foo foo foo)... 続きを読む
perl6 の環境を手っ取り早く構築してサクッと Hello world する - その手の平は尻もつかめるさ
2015-10-21 perl6 の環境を手っ取り早く構築してサクッと Hello world する perl6 本記事はサクッと perl6 (rakudo) が動く環境を作って,ズバッと Hello world してみるというやつです. 早速行ってみましょう. 1. rakudobrew をインストールする rakudobrew をインストールしますrakudobrew というのは perl5... 続きを読む
Perl で簡単にパーザを書く - blog.64p.org
パーザを書こうという場合、Parse::RecDecsent のようなモジュールを使うのが一般的だが、Perl5 の正規表現は強力すぎるため、そんなものに頼らなくても超絶簡単にパーザを実装することが可能だ。 以下に、四則演算のパーザを示す。 use 5.018000; package Calc { use Carp (); sub parse { local $_ = $_[1]; _parse_... 続きを読む
Perl5 において chomp() とはなにをするものか - blog.64p.org
えてして、プログラミングにおけるバグの発生源は、使い方をまちがえていることに起因するものも多い。 猫を電子レンジでかわかす人がいるように。 そもそも chomp() という組み込み関数はなぜ必要なのか。 Perl5 では、データを行単位で処理するということが重視されたインターフェイスになっている。これは一般的なテキスト処理の頻出パターンだからだ。 while (<>) { chomp; say i... 続きを読む
Devel::NYTProf で Starlet/Starman でうごくウェブアプリケーションのプロファイリングをおこなう方法まとめ - blog.64p.org
Devel::NYTProf は Perl5 の世界でもっとも人気があるプロファイラである。表示が美麗であるし、ステップごとの処理速度が簡単にわかるのでとても便利だ。 そんな Devel::NYTProf であるが、Starlet/Starman のようなプリフォーク式のサーバーでうごくウェブアプリケーションとくみあわせる場合の方法論として、わかりやすい資料がみあたらなかったのでここに記すものであ... 続きを読む
Perl5 における B optree の操作方法入門 - blog.64p.org
いよいよ今週から YAPC だ。YAPC にあわせて、Perl5 の内部構造を復習できるエントリーを書いたのでご一読いただきたい。 Perl5 hack においては、XS をつかった B optree の操作が楽しい。B optree というのはいわゆる AST(抽象構文木) である。Perl5 は byte code interpreter などではなく昔ながらの AST をそのままなめるインタ... 続きを読む
複雑なデータ構造の中にうまっているデータのパスをさがす方法 - blog.64p.org
Perl5 の場合、Data::DPath をつかえば、 my $data = { foo => { bar => 'candy', }, }; のようなデータから、 say dpath('/foo/bar')->match($hashref); などとして、candy を簡単にとりだすことができます。 しかし、ここで、たとえば以下のように複雑なデータになってしまった場合は、DPath をつくるの... 続きを読む
[Perl5]Perlの今がわかる! 『Perl徹底攻略』という本ができました
どうやら、できたみたいですよ。私も Amon2 についてかいております。 WEB+DB の連載をベースに、書き直し、書きおろしの記事もあるので WEB+DB プレスをよんでいる人も買いです。 Web 開発のみにとどまらず、Perl コミュニティのここ数年の開発の成果が凝縮された一冊となっているので、Perl に興味津々のあなたも、興味があんまないあなたも、是非かってよんでいただきたい一冊となってお... 続きを読む
Q. Perl5 のどのバージョンをつかったらいいのですか? - tokuhirom's blog.
2013-06-10 Q. Perl5 のどのバージョンをつかったらいいのですか? 5.18.x, 5.16.x, 5.14.x をつかいましょう。 というのがフォーマルな回答です。 本日時点での Perl5 の最新版は 5.18.0 です。 このあたりのポリシーについては perlpolicyというドキュメントが公式ドキュメントとなっていますのでごらんください。 このブログエントリーでもかいつま... 続きを読む
安定的な Perl アプリケーション運用のための perlbrew 運用テクニック - tokuhirom's blog.
2013-03-13 安定的な Perl アプリケーション運用のための perlbrew 運用テクニック 前提知識 Perl5 は minor version 間ではバイナリ互換性が保証されている Perl5 の minor update では、bug fix しか基本的に行われない Perl5 Porters の保守的さ度合いは信用できる perlbrew でセットアップするときに気をつけること... 続きを読む
Perl5 における関数 prototype の取扱いについて - tokuhirom's blog.
2013-01-29 Perl5 における関数 prototype の取扱いについて いろいろな人が prototype をつかってるのをみてきましたが、 sub foo(&) { }として foo { }のように、block を coderef としてうけとるパターン以外では、つかわない方がいいです。理由は後でかく。 tokuhirom 2013-01-29 14:29 Tweet Write ... 続きを読む
環境変数にいろいろ突っ込み過ぎると危険があぶない - Islands in the byte stream
$ export FOO=`perl -E 'say "." x 1_000_000'` $ perl -v bash: /Users/fuji.goro/perl5/perlbrew/perls/perl-5.16.2/bin/perl: Argument list too long 簡易的にIPCをする方法として環境変数にJSONを突っ込んでサブプロセスから参照する、みたいなことはたまにすると... 続きを読む
2013年 のPerl5 の OOP について考える - tokuhirom's blog.
2013-01-15 2013年 のPerl5 の OOP について考える perl Moo 今年の本命? 新しくつくるならこれが無難な気がします。速度的にも Mouse とあまりかわらない。 若干依存がおおい気もするけど、インストールベースがふえれば気にならなくなるかな、ともおもいます。Class::XSAccessor とかつかってるんで、速度的にもホットスポットは速いのがよい。 Mouse ... 続きを読む
ブラウザで Perl をためせる Farabi がすごい。 - tokuhirom's blog.
web-based Perl editor/interpreter/everything だそうです。これがおもしろいのは、ブラウザで実行できるとこで、これ Perlito5 つかってるみたいですね。 Perlito5 ってのは https://github.com/fglock/Perlito のことで、なんか Perl5 を JS に変換してくれたりするやつです。直也さんとは関係ないです。 続きを読む
carton と古い cpanm をくみあわせたら悲しい話 - tokuhirom's blog.
https://github.com/miyagawa/carton/issues/52perlbrew install-cpanm でインストールした cpanm にパスがとおってる状態で、carton いれてつかおうとすると、carton は ~/perl5/bin/cpanm をつかおうとしてくれちゃってこまったという話。cpanm は既知ではないオプションをスルーするので、--showde... 続きを読む
Perlと出会い、Perlを作る
本発表では2つのトピックについて話したいと思っています。 1つ目は、今年新卒としてmixiに入社し、Perlと出会い、Perlを学ぶために処理系を実装し始めた話をしたいと思います。どうせ作るならということで、世界一高速なPerl処理系を目指して実装しています。Perl5の数十倍以上速いPerl処理系をどうやって作っていったかというところを楽しんでいただければと思います。 2つ目は、業務の一環として... 続きを読む
The Future Of Perl5 の和訳 - Japan Perl Association運営ブログ
以下、"The Future Of Perl5" という、Andy Lester氏による Jesse Vicent氏のOSCON 2011での発表内容のまとめです。Perl5 の今後のロードマップがおぼろげに見えてくる良いエントリーだと思いましたので、和訳・意訳しました。(ここから)Perl5の開発リード(pumpking)のJesse Vincent氏が今年のOSCONで"Perl 5.16とそ... 続きを読む
Perl5:Tシャツ
優れたPerlプログラマ(Acme的な意味で)を見分ける27の質問 - どんぞこ日誌(2011-03-01)
* [Perl][Acme] 優れたPerlプログラマ(Acme的な意味で)を見分ける27の質問えー、How to Identify a Good Perl Programmerの日本語訳の尻馬に乗ろうという寸法です。まあ、ご覧の通り、大失敗でした。(※Acme::*を最大限利用すること)Perl5において名前空間のAcmeが示すものは何かblessを解除する際のAcme::CurseとAcme:... 続きを読む
「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream
How to Identify a Good Perl Programmer (by chromatic) が面白かった*1ので、27の質問を訳してみました。chromatic氏によれば、いずれも単純明快な質問でPerlの哲学や特徴をよく現しており、優れたPerlプログラマであれば少なくとも80%は答えられるべきだそうです*2。あなたは全ての質問に答えられますか? Perl5において変数のシジルが... 続きを読む
それでも私がMySQLを使いつづける理由または、Why I still use MySQL? 的ななにか。 - rkajiyamaの日記
MySQL@tokuhiromのそれでも私が Perl5 を使いつづける理由または、Why I still use Perl5? 的な。を読んでいて、自分でもMySQL版を書いてみようと思った。使い続けるというより、「中の人として働き続ける理由」っぽい気もする。 Good Enough環境構築がきわめて簡単で動作も安定。もちろんパフォーマンスも良い。なによりKISSの原則を保てているソフトウェアは... 続きを読む
現代的なPerlの記述方法一覧 - Perl入門〜サンプルコードによるPerl入門〜
Perl5.8以降における標準的なPerlの書き方を解説します。インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。strictプラグマとwarningsプラグマ (必須) strict... 続きを読む