2010-01-01から1年間の記事一覧

lib - モジュールの検索パスを追加

Perl › モジュール › here libモジュールを使用すると、モジュールの検索パスを追加することができます。 # モジュールの検索パスを追加 use lib 'home/user/local/lib'; Perlにおいては、モジュールの検索パスの一覧は特殊変数「@INC」に格納されていますが…

FindBin - スクリプトが存在するディレクトリのパスを取得

Perl › モジュール › here FindBinモジュールを使用すると、スクリプトが存在するディレクトリのパスを取得することができます。 # モジュールの読み込み use FindBin; スクリプトが存在するディレクトリのパスは$FindBin::Binというパッケージ変数に代入さ…

Storable - データをシリアライズ化する

Perl › モジュール › here Storableモジュールを使用すると、データをシリアライズ化することができます。シリアライズ化というのはPerlのデータ構造を外部に保存できる形式に変換することをいいます。 # モジュールの読み込みと関数のインポート use Storab…

Sys::Hostname - ホスト名を取得する

Perl › モジュール › here Sys::Hostnameモジュールを使用すると、ホスト名を取得することができます。 # モジュールの読み込みと関数のインポート use Sys::Hostname 'hostname'; ホスト名を取得するにはhostname関数を使用します。 # ホスト名の取得 my $h…

Net::Ping::External - OSに依存しない形でpingコマンドを実行する

Perl › モジュール › here Net::Ping::ExternalモジュールはOSに依存しない形でpingコマンドを実行するためのモジュールです。 # モジュールの読み込みと関数のインポート use Net::Ping::External 'ping'; pingコマンドを実行するにはping関数を使用します…

Net::Ping - リモートホストの生存確認

Perl › モジュール › here Net::Pingモジュールを利用すれば、リモートホストの生存を確認することができます。 # モジュールの読み込みとオブジェクトの作成 use Net::Ping; my $p = Net::Ping->new; リモートホストの生存を確認するにはpingメソッドを使用…

MIME::QuotedPrint - quoted-printable形式にエンコード

Perl › モジュール › here MIME::QuotedPrintモジュールを使用すると、データをquoted-printable形式にエンコードすることができます。 # モジュールの読み込みと関数のインポート use MIME::QuotedPrint qw/encode_qp decode_qp/; quoted-printable形式にエ…

MIME::Base64 - base64形式にエンコード・デコード

Perl › モジュール › here MIME::Base64モジュールを使用すると、データをbase64形式にエンコードすることができます。 # モジュールの読み込みと関数のインポート use MIME::Base64 qw/encode_base64 decode_base64/; base64形式にエンコードするにはencode…

Getopt::Long - コマンドラインオプションを処理する

Perl › モジュール › here Getopt::Longを使用するとコマンドライン引数のオプションを処理することができます。 # モジュールの読み込みと関数のインポート use Getopt::Long 'GetOptions'; コマンドライン引数で次のようなオプションを指定する場合を考え…

Archive::Tar - tarファイルの作成と展開

Perl › モジュール › here Archive::Tarを使用すると、tarファイルを展開あるいは作成することができます。 # モジュールの読み込みとオブジェクトの作成 use Archive::Tar; my $tar = Archive::Tar->new; メモリ上にtarファイルの情報を読み込むにはreadメ…

Benchmark - ベンチマーク(性能比較)を行う

Perl › モジュール › here Benchmarkモジュールを使用すると、ベンチマーク(性能比較)を行うことができます。 # モジュールの読み込みと関数のインポート use Benchmark qw/timethese cmpthese/; timethese関数を実行すると各関数の性能情報を取得できます。…

Devel::NYTProf - 見やすいプロファイラ

Perl › モジュール › here Devel::NYTProfはプログラムの中のどの処理に時間がかかっているかを調べるツールです。このようなツールをでプロファイラといいます。解析結果をHTMLファイルに変換してくれるので、とても見やすいです。 プロファイルを作成する…

Devel::DProf - シンプルなプロファイラ

Perl › モジュール › here プログラムを実行しても必要なパフォーマンスが得られないことがあります。どの部分がボトルネックになっているのかを調べるのは簡単なことではありません。プロファイラと呼ばれるツールを利用すればプログラムの中のどの処理で時…

CPAN - CPANからモジュールインストール

Perl › モジュール › here CPANモジュールを使用すればCPANからモジュールインストールすることができます。CPANは無料で利用できるモジュールがたくさん集められたサイトです。CPANモジュールはコマンドラインから利用することが想定されており、cpanコマン…

Digest::SHA - SHAによるダイジェスト値を求める

Perl › モジュール › here Digest::SHAモジュールを使用すると、各種SHAの値を求めることができます。SHA-1値を求めるには以下の関数を使います。 # モジュールの読み込みと関数のインポート use Digest::SHA 'sha1_hex'; sha1_hex関数を使用するとSHA-1の値…

Digest::MD5 - MD5を使ったダイジェスト値

Perl › モジュール › here Digest::MD5モジュールを使用すると、MD5を使ったダイジェスト値を求めることができます。 # モジュールの読み込みと関数のインポート use Digest::MD5 'md5_hex'; md5_hex関数を使用するとMD5の値を32桁の16進数の文字列として取…

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 { …

リアルタイム時計 / 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 { …