Perlなら「サンプルコードPerl入門」

3000-01-01

Perl学習サイト - サンプルコードPerl入門

Perlは「テキスト処理」「システム管理」「Web開発」の三つの分野で優れたプログラム言語です。コンパイルなしで実行できるスクリプト言語で素早く簡単に実行できます。日常的な処理の自動化にはもってこいのプログラミング言語です。

サンプルコードPerl入門は日本最大級の「Perl情報サイト」。初級から上級まで400以上の記事が無料で読み放題。このサイトでプログラミングの確かな実力を身に着けてみませんか。

  1. Perlプログラミング入門
  2. Perlリファレンス
  3. Web開発
  4. Perl中級編

1. Perlプログラミング入門

Perlプログラミングの入門記事を紹介します。Perlを学習するにあたって、これだけは覚えておいたほうがよいというものをピックアップ。最初に基本的な文法をマスターしましょう。

2. Perlリファレンス

  1. 文法・構文
  2. 標準関数
  3. 演算子
  4. 特殊変数
  5. モジュール
  6. 豆知識
  7. FAQ
  8. Perlが優れている分野 - ruby, python, PHPとの比較なども
  9. 言語的な特徴

3. Web開発

Perlで「Web開発」を行う方法を解説。Perlで、Webサイト、Webアプリ、Webサービスを作成したい方にお勧め。PerlプログラムはCGIで有名ですが、今では、もっと便利なWeb開発を行う方法があります。

Web開発 - Mojolicious

  1. Mojolicious入門
  2. Kent WebのCGIを改善
  3. 実用的なWebアプリをGitPrep見る

4. Perl中級編

Perlの「一歩進んだテクニック」を解説。「基礎編」が終わった後にチャレンジしてみよう。Perlのテクニックを使うともっとプログラミングが便利になる。

中級編

  1. 多次元データ構造
  2. ビット演算子
  3. 例外処理
  4. コマンドライン引数
  5. デバッガの手引き
  6. 現代的な記述方法
  7. オブジェクト指向入門
  8. スコープを理解する
  9. Time::Piece - 日付と時刻を扱う
  10. 数値計算
  11. モジュール基礎
  12. オブジェクト指向
  13. 日付・時刻
  14. 文字コード
  15. ファイル操作

5. データベース

Perlでデータベースを扱う方法を解説します。データベースはPerlでWebアプリを作るときは必須の知識。

データベース

  1. MySQLとの連携
  2. SQLiteで学ぶデータベース操作の基礎
  3. DBD::Oracleをインストール
  4. SQL Serverに接続する手順
  5. DBIx::Customで簡単にSQLを実行する方法

6. Perl上級編

一歩進んだ「Perlの応用」的な機能を紹介します。これができれば、あなたも「Perlマスター」だ!

上級編

  1. Test::Moreによるプログラムの試験の自動化
  2. ソケットによる通信を行う
  3. プロセス間通信を行う
  4. ワンライナーの書き方を覚える
  5. PDLで統計・解析
  6. XSによるC/C++バインディング入門
  7. 言語実装の研究

7. その他のPerl情報

その他のPerl情報です。Perlのリリース情報などがあります。

その他の情報

  1. リリース情報
  2. 読み物
  3. リンク集 - 公式サイト、勉強会、イベント

8.Perl書籍

執筆させていただいたPerl関連の「書籍」です。

もっと自在にサーバを使い倒す 業務に役立つPerl

もっと自在にサーバを使い倒す 業務に役立つPerl (Software Design plus)

かんたんプログラミングCGI/Perl 木本裕紀著

かんたんプログラミング CGI/Perl

9. 著者情報

木本裕紀「Perlでプログラミングをするのが面白くって仕方ない」

Perlの「オープンソース」活動に26歳のときから「10年間」取り組んでおり「ライフワーク」としている。

代表的な著作は「業務に役立つPerl(技術評論社)」「かんたんプログラミングCGI/Perl(技術評論社)」。雑誌「Software Design」で、連載経験も。

10. 人気の記事

サンプルコードPerl入門ではてなブックマークを集めた人気記事です。Perlでみんなが注目していることがわかる。

  1. 基礎文法最速マスター一番人気
  2. 現代的な記述方法
  3. 実践で役立つ正規表現
  4. 配列とハッシュを自由に扱う
  5. よく使用する関数・標準モジュール一覧
  6. 日本語などのマルチバイト文字列を適切に処理する

11. リンク集

2017-03-16

DBIx::Custom 0.38 リリース - 5年前に廃止予定になっていた機能の削除

DBIx::Custom 0.38をリリースしました。今回のリリースは、5年前に廃止予定になっていた機能の削除です。5年以上前に、DBIx::Customを利用していて、今アップデートする方はご注意ください。

余分な条件分岐がなくなったので、その分高速化しています。

DBIx::Custom 0.38

DBIx::Customは今後は、SQL生成のみする機能、データベースへの非同期クエリ対応、DBIx::Custom::Fastを作って高速化する機能を追加する予定です。

Changes

廃止された機能の一覧。

0.38

---------------------------------------------------

NOTE: This release remove many DEPRECATED features.

---------------------------------------------------

- remove DEPRECATED default_filter method(DBIx::Custom::Result).

- remove DEPRECATED default_fetch_filter(DBIx::Custom).

- remove DEPRECATED default_bind_filter(DBIx::Custom).

- remove DEPRECATED DBIx::Custom::Query.

- remove DEPRECATED DBIx::Custom::QueryBuilder.

- remove DEPRECATED execute(DBIx::Custom) method's query option

- remove DEPRECATED execute method receiving query object

- remove DEPRECATED cache_method(DBIx::Custom).

- remove DEPRECATED query_builder(DBIx::Custom).

- remove DEPRECATED tag_parse(DBIx::Custom)

- remove DBIX_CUSTOM_TAG_PARSE environment variable

- remove DEPRECATED register_tag_processor(DBIx::Custom)

- remove DEPRECATED register_tag(DBIx::Custom)

- remove DEPRECATED tag parsing functionality

- remove DEPRECATED prepend method(DBIx::Custom::Order) array reference receiving

- remove DEPRECATED remote_end_filter(DIBx::Custom::Result)

- remote DEPRECATED remove_filter(DIBx::Custom::Result)

- remove DEPRECATED filter_on(DBIx::Custom::Result)

- remove DEPRECATED filter_off(DBIx::Custom::Result)

- remove DEPRECATED end_filter(DBIx::Custom::Result)

- remove DEPRECATED filter_check(DBIx::Custom::Result)

- remove DEPRECATED column(DBIx::Custom::Result)

- remove DEPRECATED fetch_first(DBIx::Custom::Result)

- remove DEPRECATED fetch_hash_first(DBIx::Custom::Result)

- remove DEPRECATED execute(DBIx::Custom::Model)

- remove DEPRECATED method(DBIx::Custom::Model)

- remove DEPRECATED filter(DBIx::Custom::Model)

- remove DEPRECATED name(DBIx::Custom::Model)

- remove DEPRECATED type(DBIx::Custom::Model)

- remove DEPRECATED DBIX_CUSTOM_DISABLE_MODEL_EXECUTE environment variable

- remove DEPRECATED default_dbi_option(DBIx::Custom)

- remove DEPRECATED dbi_option(DBIx::Custom)

- remove DEPRECATED data_source(DBIx::Custom)

- remove DEPRECATED dbi_options(DBIx::Custom)

- remove DEPRECATED filter_check(DBIx::Custom)

- remove DEPRECATED reserved_word_quote(DBIx::Custom)

- remove DEPRECATED select_at(DBIx::Custom)

- remove DEPRECATED delete_at(DBIx::Custom)

- remove DEPRECATED update_at(DBIx::Custom)

- remove DEPRECATED insert_at(DBIx::Custom)

- remove DEPRECATED insert_param_tag(DBIx::Custom)

- remove DEPRECATED update_param_tag(DBIx::Custom)

- remove DEPRECATED assign_param(DBIx::Custom)

- remove DEPRECATED update_param(DBIx::Custom)

- remove DEPRECATED insert_param(DBIx::Custom)

- remove DEPRECATED create_query(DBIx::Custom)

- remove DEPRECATED apply_filter(DBIx::Custom)

- remove DEPRECATED query caching system

- remove DEPRECATED cache(DBIx::Custom)

- remove DEPRECATED execute method(DBIx::Custom)'s sqlfilter option

- remove DEPRECATED update_timestamp

- remove DEPRECATED insert_timestamp

- remove DEPRECATED select method relation option

- remove DEPRECATED update timestamp option

- remove DEPRECATED insert timestamp option

- remove DEPRECATED update(DBIx::Custom) method's updated_at option

- remove DEPRECATED update(DBIx::Custom) method's param option

- remove DEPRECATED insert method param option

- remove DEPRECATED select method column option [COLUMN, as => ALIAS] format

- remove DEPRECATED select method column option [COLUMN => ALIAS] format

- remove DEPRECATED select method where_param option

- remove DEPRECATED delete method where_param option

- remove DEPRECATED update method where_param option

- remove DEPRECATED execute(DBIx::Custom) method's id option

2017-03-13

DBIx::Customを非同期クエリと一緒に使うための修正を考えている

現在DBIx::Customは実験的にMySQLの非同期クエリをサポートしているのですけれど、これはあまりよくないと考えています。

一つ目は、非同期クエリの仕組みが、RDBMSごとにかなり異なるので、ORマッパーの中で抽象化するのはあまりよくないなぁという感覚がある。

だから、この実験的なサポートを終了して、DBIx::Customは、SQLの同期実行とSQLの生成に特化しようと思う。

クエリを実行するときは、一発で実行できたほうが楽だ。でも、非同期クエリを投げるためのモジュールと連携することができなない。

だから

  1. 同期クエリはそのまま実行できる
  2. 非同期クエリを投げたい場合は、SQL生成したものを、他のモジュールで利用できるようにする

Mojo::Pgは、PostgreSQLで、非同期クエリをサポートしているのだけれど、これにSQLを渡せるようにしたい。非同期クエリを投げたいときにも対応できるようにする。