ブログトップ 記事一覧 ログイン 無料ブログ開設

サンプルコードによるPerl入門

3000-01-01

サンプルコードによるPerl入門 目次

 サンプルコードを中心としたPerl入門サイトです。応用的な話題もたくさん扱っているので、Perlを詳しく学びたい方にはおすすめのサイトです。

 他の入門サイトは、Perl4の書き方をされていることが多いですが、サンプルコードによるPerl入門では、Perl5の記述を使っています。(KENT WEBのPerl入門、とほほのperl入門、WisdomSoftのPerl入門などの書き方はPerl4の書き方です)

 筆者は木本裕紀(kimoto.yuki@gmail.com)といいます。サイトの更新情報はTwitterで発信しています。Twitterでのフォローもお願いします。

Twitterでフォローする

 仕事や学校でPerlを使う初学者の方にサンプルコードによるPerl入門を教えてあげてほしいです。プログラミング系の入門サイトの紹介や無料でプログラミングを学べるサイト、Naverまとめなどでも、ぜひPerlのサイトとして紹介してほしいです。

 気に入った記事がありましたらはてなブックマークもお願いします。ブックマークボタンとツイートボタンが各記事の右下についています。コメントやトラックバックも受け付けています。

Perl基礎

 Perlの基礎について解説します。Perlのインストール、基本的な構文、配列、ハッシュ正規表現、ファイル入出力、オブジェクト指向などを学ぶことができます。

  1. コマンドプロンプト- コマンドプロンプトの使い方
  2. Perlとは - Perlの特徴について
  3. Perlインストール - Perlのインストール方法
  4. Perl基礎文法最速マスター - Perlの基礎をすばやく学習
  5. 現代的なPerlの記述方法 - Perlの現代的な書き方
  6. 実践で役立つPerl正規表現 - Perlの正規表現で頻繁に利用するテクニック
  7. 配列とハッシュを自由に扱う - ハッシュと配列の扱い
  8. サブルーチンの作成 - サブルーチンの作成方法
  9. Perlのスコープを理解する - スコープという概念を学習
  10. ファイル入出力の基礎 - ファイルの読み書き
  11. Perlオブジェクト指向入門 - オブジェクト指向の入門
  12. デバッガの手引き - デバッガの紹介
  13. Perl豆知識 - 知っておくと便利な豆知識
  14. Perl FAQ - Perlでよくある質問に答える

Perl応用

 基礎を学び終えたら、関数モジュールについて知るのが、上達の近道です。またWebアプリケーションの作成にもチャレンジしてみましょう。逆引き辞典ではさまざまなことを調べることができます。

  1. よく使用する関数一覧 - よく使用する関数の紹介
  2. Perlモジュール徹底解説 - モジュールについての詳しい解説
  3. Webアプリケーション開発 - Webアプリケーションの開発手法の解説
  4. Validator::Customリファレンス - HTMLフォームのバリデーション
  5. SQLiteで学ぶデータベース操作の基礎 - SQLiteDBIを使ったデータベース操作
  6. DBIx::Customリファレンス - データベースに便利にアクセス
  7. Perlその他の情報

書籍

Perlリファレンス

Perlその他

Perl以外の技術情報

読み物

 Perlを中心としていろいろな話題について書いた読み物です。

著者

サイト紹介

  1. リンク

2013-06-18

検索機能が強化されたMojolicious::Plugin::DBViewer 0.21をリリースしました

 Mojolicious::Plugin::DBViewer 0.21をリリースしました。Mojolicious::Plugin::DBViewerはデータベースの情報をブラウザから見るためのMojoliciousのプラグインです。MySQLSQLiteに対応しています。開発では頻繁にデータベースの情報を見る機会があります。そういうときは、コマンドラインからSQLを打つのではなくって、データベースを観覧できるツールを利用すると開発効率があがります。

CPAN

Mojolicious::Plugin::DBViewer 0.21

紹介ページ

Mojolicious::Plugin::DBViewer - データベースの情報をブラウザで観覧するためのプラグイン

機能追加

 0.21では、大幅に検索機能が強化されています。いままでは検索条件がひとつでしたが、今回のアップデートでは複数検索をサポートしました。また次の機能が追加されていて、ますます便利になりました。

  • 検索条件をみっつまで指定できるようになりました。この検索条件をandかorで結ぶことができます。
  • 検索条件にinが利用できるようになりました。値は空白で区切って入力します。
  • order by句が二つまで指定できるようになりました。
  • join句を設定ファイルで定義できるようになり、joinを使った検索が可能になるjoinモードが追加されました。joinで結合された先のテーブルの列を検索条件として利用できます。

 かなり便利になっているので、アップデートするとさらに便利に利用できると思います。互換性は保たれており、Mojolicious4.0にも対応していますので、過去バージョンから、そのままアップデートするだけで大丈夫だと思います。

 近いうちにこれをプラグインではなくて完全にWebアプリ化したものを、別途リリースしたいと思っています。期待ください。


技術ニュースへ

2013-06-13

GitPrep 1.0をリリースしました

 Githubクローン、ポータブルなGithubシステムをUnix/LinuxにインストールできるWebアプリケーショGitPrep 1.0をリリースしました。最初のメジャーリリースです。

 自分のサーバーインストールできるので、ユーザーの作成は無制限、プライベートリポジトリも無制限に作成することができます。GitPrepはオープンソースですので、無料で利用することができます。さくらレンタルサーバーなどの共有レンタルサーバーにインストールすることができます。

GitPrep (リポジトリとドキュメント)

 アルファリリースの0.01のころから内部の構造は変わっていませんので、設定ファイル以外のファイルをアップロードするだけでアップデートできます。細かな表示のバグがたくさん修正されていますので、アップデートをお勧めします。

 

サンプル

 動いているサンプルはこちらです。さくらのレンタルサーバーのスタンダードで動かしています。こちらでアプリケーションを試すことができます。

GitPrepを試す

ダウンロード

https://github.com/yuki-kimoto/gitprep/archive/latest.zip

ドキュメント

GitPrep ドキュメント


技術ニュースへ

2013-06-12

ユニコード文字をコードポイントで表現する / Perl逆引き辞典

 ユニコード文字には、すべての文字にコードポイントが割り当てられています。Perlでは、ユニコード文字をコードポイントを使って表現することができます。

# あ
my $str = "\x{3042}";

 コードポイントで表現されたユニコード文字を含む文字列は、utf8プラグマのあるなしにかかわらず、常に内部文字列として扱われるので注意してください。つまりすでにデコードされた状態だということですね。出力するには以下のようにエンコードします。

use Encode 'encode';
print encode('UTF-8', $str);

 windowsの場合はcp932文字コードとして指定してみてください。


Perl逆引き辞典/文字コード

2013-06-10

ある文字のユニコードのコードポイントを調べる方法 / Perl逆引き辞典

 ある文字のユニコードのコードポイントを知りたい場合は、次のようにします。utf8プラグマは有効にして、ソースコードUTF-8で保存する必要があります。

use utf8;

my $str = 'あ';

# 十六進数として表示
printf "%x\n", ord($str);

 ord関数で文字のコードポイントを知ることができます。printf関数で%xというフォーマット指定をして16進数で表示しています。

 出力結果は以下のようになり「あ」という文字のコードポイントは3042であることがわかります。

3042

Data::Dumperで簡易的に調べる

 Data::Dumperモジュールを使って簡易的に調べる方法もあります。Data::DumperはASCIIの範囲でない文字であれば、内部文字列を出力するときに、コードポイントに変換するからです。

use utf8;

my $str = 'あ';

use Data::Dumper;
print Dumper $str;

 以下のようにユニコードのコードポイントが16進数で出力されます。

$VAR1 = "\x{3042}";


Perl逆引き辞典/文字コード

2013-06-07

テンプレートでは関数の名前空間が共有されるので注意する / Mojoliciousリファレンス

 Mojoliciousのテンプレートの中でPerlのコードを自由に書くことができますが、ひとつだけ注意するべきことがあります。それは、すべてのテンプレートで、関数の名前空間が共有されるということです。

# テンプレートA
use Encode 'encode';
# テンプレートB
encode('UTF-8', $str);

 テンプレートBではencode関数をインポートしていないのですが、テンプレートAでインポートしているのでテンプレートBで利用することができます。これはMojoliciousがすべてのテンプレートをひとつの名前空間の中に作成しているからです。

 ですので、混乱したくないのであれば、テンプレートの中では関数のインポートを行わないで、完全修飾名で利用するのが安全でしょう。

use Encode ();
Encode::encode('UTF-8', $str);


Mojoliciousリファレンスへ