Perlスクリプトサンプル

典型的な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行目)


→Perl To The Peopleのインデックスページへ戻る

トラックバックURL

このエントリーのトラックバックURL:
http://ash.roova.jp/mt/mt-tb.cgi/78

コメントする