Perl/はじめに
出典: フリー教科書『ウィキブックス(Wikibooks)』
目次 |
[編集] 前提条件
テキストエディタを用いて例に挙げられる通りのファイルを作成できることを前提としています。プログラミングそのものの概念についてはプログラミング(Wikibooks)やプログラミング(Wikipedia)を参照してください。以降、断りのない場合はLinux上でPerl 5.8以降のバージョンを利用しているものとして説明します(シェルはbashを使用)。
[編集] 実行環境
[編集] Microsoft Windows
Microsoft Windows 環境では ActivePerlをインストールして実行します。
[編集] インストール
ActivePerl downloadからActivePerlを利用するOSにあわせてインストールパッケージを選択し、ダウンロードします。
[編集] 実行
[編集] Mac OS X, Linux, FreeBSD, その他 UNIX 環境
Mac OS X, Linux, FreeBSD, その他 UNIX 環境ではほとんどの場合、Perlは標準でインストールされています。「ターミナル」を起動し、コマンドプロンプト($, %, >などの記号)に続けてperl -vと入力し、[Enter](Return)キーを押し、以下のように表示されればperlが利用可能です。
% perl -v This is perl, v5.8.7 built for darwin-thread-multi-2level Copyright 1987-2005, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. %
[編集] PerlがインストールされていないUNIX環境
CPAN portsからバイナリパッケージをダウンロードできます。バイナリパッケージが存在しないプラットフォームの場合はPerlのダウンロードページからソースコードをダウンロードし、ビルドして実行してください。
[編集] Mac OS 9
MacPerlが利用できます。
[編集] 作成、実行の流れ
[編集] プログラムの作成
Perlはインタプリタ型の言語なので、ソースコードをそのまま実行できます。コンパイルの必要はありません(perlcc、PARなどを利用すれば可能)。
ソースコードの編集には好きなテキストエディタを使えます。 OS標準のメモ帳(Windows)、TextEdit(Mac OS X)、vi(*nix)などでも十分です。 Wordなどのワープロでも編集は可能ですが、標準では独自のバイナリファイルとして保存されるので注意してください。
[編集] プログラムの実行
テキストエディタでhello.plというファイルを作成し、コマンドプロンプト上で以下のように実行します。
| hello.plの中身 |
print "Hello, World¥n"; print "Hello, Perl¥n"; |
| 実行の方法と画面出力 |
$ perl hello.pl Hello, World Hello, Perl $ |
ほかの多くのプログラミング言語と同様に、Perlは構造化プログラミングというパラダイムを採用しています。プログラムの流れは逐次・分岐・反復の3通りしかありません。
つまり、原則としてプログラムはソースコードに記述された順に実行され、ifやforなどの制御構造があったときだけ分岐・反復します。
ここではhello.plを作成して実行するまでを示しましたが、以後特に必要のない限りは単にプログラムの中身(コード)に続けて実行結果のみを表示するにとどめます。
[編集] Perlの基本機能の紹介
[編集] 変数代入
変数とはプログラムの動く流れの中で値が入力されたり変化するデータです。Perlでは変数名(例ではvar)の前に$, %, @などの接頭辞がつく表現を変数として扱います。
| コード |
$var = "Perl"; print "Hello, $var¥n"; |
| 実行結果 |
Hello, Perl |
Perlでは例にあるような構造のない、ただ一つの値のみを保有するデータ(スカラーと呼びます)以外に、順番に並んだ複数のデータからなる配列、「色(リンゴ)→赤」「色(みかん)→橙色」のように名前(鍵、ここではリンゴやみかん)と関連づけられた複数のデータからなるハッシュ、より複雑なデータ構造を実現するリファレンスなどのデータを扱うことができます。 変数についての詳細は変数、データ構造で学びます。 リファレンスについての詳細はリファレンスで学びます。
[編集] 演算
Perlに数値の計算をさせることももちろんできます。
| コード |
$var = 5 * 120; print "$var¥n"; |
| 実行結果 |
600 |
演算についての詳細は演算子で学びます。
[編集] 制御構造
原則としてPerlのプログラムは上に書かれているものから順に実行されていきますが、繰り返しや、特定の条件に応じて動作を切り替えることができます。
[編集] 繰り返し
ある条件にしたがって繰り返し同じ(あるいは似たような、共通のパターンのある)処理を行うことができます。
| コード |
foreach $num (1 .. 10){ print $num; print " "; } print "¥n"; |
| 実行結果 |
1 2 3 4 5 6 7 8 9 10 |
[編集] 条件分岐
ある条件をみたしているか(ここでは$a が 3 より大きいかどうか)を判定し、判定の内容により動作を切り替えています。
| コード |
$a = 5; if ($a > 3){ print "$a > 3\n"; } else { print "$a <= 3\n"; } |
| 実行結果 |
5 > 3 |
制御構造についての詳細は制御構造で学びます。
[編集] コメント
プログラミングの作成中に「プログラム内にメモを残しておきたい」「一時的にある動作を実行されないようにしたい」といった要求が生じることがあります。このような「プログラミングのコードに記載されるが動作しない箇所」のことを一般にコメントと呼びます。
| コード |
# print "ここはコメントの中¥n"; print "ここはコメントの外¥n"; |
| 実行結果 |
ここはコメントの外 |
Perlでは#以降の行端までがコメントとみなされます。C言語にあるような複数行にわたるコメントは原則的にサポートされていませんが、以下のような方法で実質的な複数行コメントを利用することができます。
[編集] Podによるコメント
| コード |
=comment ここの中は複数行にわたるコメント プログラムの動作には影響を与えない。 =cut |
Podという本来はプログラムのドキュメントを記入する機能を利用して複数行コメントを書きます。=の前に空白等の別の文字が入った場合はコメントにはなりませんので注意が必要です。
[編集] __END__によるコメント
| コード |
__END__
ここにはどんなデータも置くことが出来ます
|
__END__は本来コメント用の構文ではなく、コードの終了を示す特殊リテラルです。 これ以降はプログラム内データとみなされ、プログラムとして実行されないので、どんな内容でも記述できます。
ちなみに、この内容はファイルハンドルDATAから読み込むことができます。

