プログラミングPerl 第1章 Perl概説
とうとう聖典へ
- Perlを本格的に勉強しはじめて3年、Perlの聖典とも言える「Programming Perl」通称「ラクダ本」に着手する
- なお、先にやっていた「オブジェクト指向Perlマスターコース」「モダンPerl入門」はまだ自分のレベルが本に達してないので一旦撤収
- 特に「モダンPerl入門」は解説している部分以外のスタブやドライバを書けないと厳しい
第1章の感想
- Perl初心者本の「まとめ」的内容
- ゼロから『この本でPerl始めろ』と言われたら挫折する
- Perlの入門書を複数、Perl入学式、それと業務でやってるLinuxオペレーションの知識が無いと厳しいと感じる
- 少なくとも、過去の自分がいきなりこれに手を付けてたら、絶対挫折してた
- 初心者向け本からコツコツとやってて良かった
- 他の言語を習得していれば、それとの対比でいけるかもしれない
- 逆に、初心者向け本から積み重ねたPerlの知識があれば、第1章で書いてある事が理解できる
- 「読める!私にも読めるぞ!」
- ただし、2003年の本(第3版)だけあり、現在では推奨しない書き方もあるので、そこは置き換えて考える必要がある
ファイルハンドル扱うときの引数が2つとか
open (SESAME , "<filename" );
現在は引数は3つが推奨されていたはず
open (SESAME, "<" , "filename" );
欄外がいい
- 欄外の注釈、訳注に味があり、「ほうほう、なるほど」と思わせる記述が多くて、ページ進めるの楽しみ
[訳注] 原文は "You can't grep dead tree." dead tree(枯れ木)とは、紙の事である。(例えばオンラインドキュメントを紙に印刷したものを、dead-tree versionと呼ぶ。)この文は、「印刷したドキュメントをgrepすることはできない」という意味である。 (はじめに:xxii)
Programming Perl、いきなり「印刷したドキュメントをgrepする事が出来ない」とかぐっとくる言葉がある。先日の運用ミスで、紙での手続き + 人間のダブルチェックが必要になった我が部署の運営に聞かせたい言葉だ・・・
— sironekotoro (@sironekotoro) 2016年12月18日
歴史的な経緯を話せば、もともとPerlではユーザ定義のサブルーチンを呼び出す際には、必ず頭にアンパーサンド
&
を付ける必要があった。(中略)しかしPerlのバージョン5では、アンパーサンドは省略できるようになり(後略) (第1章 19p)
- なるほど、サブルーチン呼び出す時の
&
が取れたんはPerl5からの話なのね、などなど
驚き
先日、初めてQiitaに投稿した記事内のスクリプトと、20pで記載されていたスクリプトの流れがほとんど同じで「えええ〜!」ってなった
- Perl入学式 を卒業したら、仕事が楽になった話 - Qiita
- ログをリストで受け取って、foreachループのなかのforeachループを回して項目ごとに情報をまとめる、というもの
- 例示されたスクリプトと、自作のスクリプトが似てたってのがめちゃくちゃ嬉しい
- とりあえず大きく道は外してなさそう、と思って