2010-04-01から1ヶ月間の記事一覧

Carp - 呼び出し元の観点で例外を発生させる

Perl › モジュール › here Carpモジュールを使用すると、モジュールの呼び出し元の観点で例外を発生させることができます。 # モジュールの読み込みと関数のインポート use Carp 'croak'; croak関数を使用するとモジュールの呼び出し元の観点で例外を発生さ…

JSON - JSONデータを解析

Perl › モジュール › here JSONモジュールを使用すると、JSONデータを解析することができます。JSONはデータを記述するための言語で、配列やハッシュなどのデータ構造を表現することができます。JSONは単なる文字列ですので可搬性があります。他のプログラム…

Exporter - 関数をエクスポートする

Perl › モジュール › here Exporterモジュールを使用すると、モジュールから関数をエクスポートすることができます。 # パッケージの宣言 package YourModule; # Exporterを継承 use Exporter 'import'; # エクスポートする関数を記述 our @EXPORT = qw/func…

base - クラスを継承する

Perl › モジュール › here baseモジュールを使用すると、クラスを継承することができます。 # クラスの継承 package YourClass; use base 'BaseClass'; 継承を行うと基底クラスにあるメソッドをサブクラスで呼び出すことができるようになります。基底クラス…

XML::Simple - 簡単にXMLを解析

Perl › モジュール › here XML::Simpleモジュールを使うと簡単にXMLを解析してPerlのデータ構造に変換することができます。XMLの解析手法には「先頭から順次解析を行うSAX」と「XMLツリー構造を構築するDOM」が有名ですが、簡単に扱うという点では、XML::Sim…

package - パッケージの宣言

Perl › 構文 › here 他の言語では名前空間と呼ばれている機能はPerlではパッケージと呼ばれます(※1)。名前空間とは実際の世界の住所のようなものです。日本に「田中達也」さんは何人かいると思いますが、「東京都新宿区3-○-△」の「田中達也」さんはひとりし…

Text::Diff - テキストの差分を確認する

Perl › モジュール › Text::Diff テキストの差分を確認するにはText::Diffモジュールを使用します。UnixのdiffプログラムをPerlで実装したものです。 # モジュールの読み込みと関数のインポート use Text::Diff 'diff'; テキストの差分を確認するにはdiff関…

File::Temp - 一時ファイルを作成する

Perl › モジュール › here File::Tempを使用すると、一時ファイルや一時ディレクトリを作成することができます。OSに依存せず安全な方法で一時ファイル(あるいは一時ディレクトリ)を作成することができます。 # モジュールの読み込みと関数のインポート use …

File::Spec - OSに依存しないファイル名を作成

Perl › モジュール › here File::Specモジュールを使用すると、ファイル名に対して移植性のある処理を行うことができます。たとえばOS固有のファイル名の区切り文字を使ってファイル名を作成したりすることができます。 # モジュールの読み込み use File::Sp…

Perlの例外処理の仕組みを理解しよう

Perl › here Perlではエラーの通知に例外処理を使用することができます。例外処理はとても簡単です。例外を発生させる方法と例外をキャッチする方法を覚えればよいだけだからです。 例外を発生させる 例外を発生させるにはdie関数を使用します。dieが実行さ…

File::Path - 複数階層のディレクトリを作成・削除

Perl › モジュール › here File::Pathモジュールを使用すると、複数階層のディレクトリを作成したり、削除したりすることができます。 # モジュールの読み込みと関数のインポート use File::Path qw/mkpath rmtree/; mkpathで複数階層のディレクトリの作成を…

File::Copy - ファイルの移動とコピー

Perl › モジュール › here File::Copyモジュールを使用すると、ファイルを移動したり、コピーしたりすることができます。 # モジュールの読み込みと関数のインポート use File::Copy qw/copy move/; copy関数でファイルをコピー、move関数でファイルを移動す…

リアルタイムチャット (Mojolicious::Lite) / Mojoliciousサンプル

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …