Perlの基本文法

はじめに

備忘録の意味も含めて、Perlの基本文法をまとめたいと思います。Perlでは、同じ目的を達成するために様々な書き方が存在します。ここでは、標準的(と私が考える)なものを極力選びました。

スクリプトの実行

Perlで書かれたスクリプトを実行するには、コマンドライン上でperlコマンドを利用します。

$ perl test.pl

構文チェックのためにコンパイルのみを行うには-cオプションを付けます。

$ perl -c test.pl

デバッガを利用するには-dオプションを付けます。

$ perl -d test.pl

また、スクリプトの先頭のシバン(Shebang)でperlインタプリタを指定すれば、スクリプト名だけで実行できます。ファイルに実行権限を与えることをお忘れなく。

#!/usr/bin/perl
...
$ chmod u+x test.pl
$ ./test.pl

コメント

一行コメント

一行をコメントアウトするには#を利用します。行の途中から利用することもでき、#から行末までがスクリプトの実行中に無視されます。

# Comment here
if ($x > 50) {
...
}

my $x = 100; # Comment here

複数行コメント

複数行を同時にコメントアウトするには、対象の行を=podと=cutで囲みます。ただ、通常は複数行であっても#を利用する場合が多いと思います。

=pod
Multiple lines
can be commented
like this.
=cut

変数

スカラー変数

スカラー変数とは、文字列や数値など、一つの値を格納するために使う変数です。変数名は必ず「$」で始め、半角英数および「_」(アンダースコア)が利用できますが、命名規則としてスネークケース(小文字の英語と数字だけを使用し、文字間の連結にアンダースコアを利用する方法)にするのが一般的です。

$number = 10;
$site_url = 'http://blog.codebase.co.jp';

配列変数

配列変数とは、複数の値を順番に格納するために使う変数です。変数名は「@」で始め、それ以降はスカラー変数と同様です。

@fruits = ('Apple', 'Orange', 'Banana');

上記のように、複数の値を同時に格納することもできますし、以下のように何番目に格納するか番号で指定することも可能です。

$fruits[0] = 'Apple';
$fruits[1] = 'Orange';
$fruits[2] = 'Banana';

この場合は、変数名の先頭が「$」になることに注意してください。

ハッシュ変数

ハッシュ変数とは、連想配列変数とも呼ばれ、複数の値をキーを指定して格納するために使う変数です。変数名は「%」で始め、それ以降はスカラー変数と同様です。

%profile = ('Name' => 'Taro', 'Gender' => 'Male', 'Tel' => '090-xxxx-xxxx');

配列と同様、個別にキーを指定して代入することもできます。

$profile{'Name'} = 'Taro';
$profile{'Gender'} = 'Male';
$profile{'Tel'} = '090-xxxx-xxxx';

制御構文

条件分岐

if – elsif – else

条件分岐にはifを使います。

my $fee;
if ($age >= 20) {
    $fee = 1800;
} elsif ($age >= 12) {
    $fee = 1000;
} else {
    $fee = 0;
}

繰り返し

for (foreach)

指定した回数分繰り返すにはforが便利です。

for (my $i = 0; $i < 10; $i++) {
    print $i;
}

また、配列の中身を展開する場合にも利用することができます。

my @fruits = ('Apple', 'Orange', 'Banana');
foreach my $fruit (@fruits) {
    print $fruit;
}

ちなみに、forもforeachも文法上区別はありませんが、私は上記のような使い分けをしています。

コメントを残す

Required fields are marked *.


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Top