Perl

Last-modified: 2007-04-13 (金) 11:12:17

Perlとは

CGIを実現するためのプログラミング言語の1つです。
UNIX上で利用できるプログラミング言語として、Larry Wall氏よって開発され、1987年に一般公開されました。
当初は、テキスト処理やファイル処理に重点を置いたものでしたが、徐々に機能拡張され、またボランティアによって、Windows や Macintosh などのUNIX以外のプラットフォームにも移植されて、急速に普及を遂げてきました。
Perlという名称は、英字の頭文字を取ったもので、次の2つのキーワードから成り立っています。

Practical Extraction and Report Language実用データ取得レポート作成言語
Pathologically Eclectic Rubbish Lister病的折衷主義のがらくた出力機

制御文

基本的なこと

変数の表記・変数の宣言

変数の宣言

$x;

  • 変数の先頭$記号のある変数はスカラ変数と呼ぶ
  • 変数名は英字とアンダースコアを自由に組み合わせることが出来る
  • 変数名に数字も使うことが出来るが、変数名の先頭に数字を使った場合は英字やアンダースコアを使用できない
  • 変数の大文字と小文字は区別される

型の種類
Perlの型の種類は変数名の先頭のプレフィクスによって決まる

スカラ変数 $
配列変数 @
連想配列(ハッシュ) %
サブルーチン &

型グロブ

  • それぞれ独特のネームスペースと呼ばれるものを持っているので、スカラ、配列、連想配列で同じ名前を使っても、 名前の衝突を心配する必要はない
    • 同じ識別子(変数名のプレフィクス以降の文字列のこと)を持つあらゆる値を表現するワイルドカードのようなものを型グロブという。
    • 型グロブにより、同じ識別子を使っても型が違えば値を保持できるということ。

$Long_name = "Hello World" ;
@Long_name = (1,2,3,4) ;
short = *Long_name; # グロブの代入 [#i958c284]
print $short; # 表示( Hello World )
print $short[1] ; # 表示( 2 )

特殊変数 「$_」

変数を省略した記述が出来る

print ; # print $_ ; と同じ
while() # while( $_ = ) と同じ
/^abcd/ # $_ =~ /^abcd/ と同じ
for ( 1..10 ) # $_ をカウンタ1~10として使用

@week = ('sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat');


foreach ( @week ){ # $_に一行ずつ代入
  print ; # $_ の内容を出力
  print "\n";
}


[結果]
sun
mon
tue
wed
thu
fri
sat

コメントの記述方法(1行表記)

print "hello world"; # ここからコメント文になります。
ここはもうコメント文ではありません!!エラーになります。
#この行はすべてコメントになります!!

コメントが連続する行に渡る場合

print "こんにちは\n";
=pod
ここはコメント行になります。
ここもコメント行になります。
=cut
print "さようなら\n;

変数と文字リテラルの区切り方

$x = "index";
$y = "${x}.htm"; # $yの値は"index.htm"