典型的なPerlスクリプトのサンプルです。便宜上、行番号を付与していますが、実際にのスクリプトには行番号は不要です。なお、スクリプトはUTF-8形式でテキストファイルに保存して使います。
cgi系のスクリプトを除くと、最初に書く実用的なPerlのプログラムはこの様なテキストファイルを解析して、結果を出力する様な形式のプログラムが多いと思います。
Foo.pl
1 #!/usr/bin/env perl
2
3 use strict;
4 use warnings;
5
6 use utf8;
7 use Encode;
8
9 open(my $fh, '>:encoding(utf-8)', "result.txt") or die $!;
10
11 while (<>) {
12 my $line = decode('UTF-8', $_);
13
14 if ($line =~ /^正常/) {
15
16 print $fh $line;
17
18 } else {
19
20 print STDERR encode('utf-8', $line);
21
22 }
23 }
24
25 close($fh);
保存したスクリプトは以下の様に起動します。
$ perl Foo.pl [入力ファイル名]
または、実行権限を付加して以下の様に起動します。shebangにenvコマンドを指定しているので、パスが通っていて最も優先的に使われるPerlが使われます。
$ chmod +x Foo.pl
$ ./Foo.pl
上記のサンプルスクリプトのポイントは、以下の5つです。いまどきのPerlのスクリプトにおける基本となるポイントです。
- shebangにenvコマンドと、引数にperlを指定している事(1行目)
- 「use strict; use warnings;」の指定をしている事(3行目、4行目)
- 「use utf8;」を指定し、スクリプトをUTF-8形式で保存している事(6行目)
- open関数は引数が3つの形式を使用し、かつ読み書きするファイルのエンコーディングを指定している事(9行目)
- マルチバイト文字を扱う際には必ずEncodeモジュールのencode/decode関数を使う事(12行目、20行目)

コメントする