glob

glob という名前を持つ変数すべてを意味します。
変数は以下のように値を代入したり出力することができます。
# 変数に文字列を代入
$value = "テストです";
# 変数を出力
print $value;
【参照ページ】
変数
配列
複数の値を1つの変数で管理したい場合は、『配列』という変数が最適です。 配列を初期化する場合は、要素をカッコで囲み、各要素毎にカンマで区切ります。
@week = ('日曜', '月曜', '火曜', '水曜',
'木曜', '金曜', '土曜');
配列はインデックスを使って参照します。インデックスは 0から始まるので注意してください。たとえば1番目のデータ "日曜" を呼び出すときは、$week[0]、"月曜"なら $week[1] とします。
# 配列 @week の1番目の要素を表示
print $week[0], "\n";
> 日曜
# 配列 @week の2番目の要素を表示
print $week[1], "\n";
> 月曜
【参照ページ】
ハッシュ
配列と同じように、関連ある複数のデータをまとめて扱うことのできる変数があります。それが『ハッシュ』です。配列はインデックスで値を管理していましたが、ハッシュはキーで値を管理します。配列と比べたときのハッシュの利点は、キーで値を管理できるので、可読性が高くなることにあります。
%week = (
'Sun' => '日曜',
'Mon' => '月曜',
'Tue' => '火曜',
'Wed' => '水曜',
'Thu' => '木曜',
'Fri' => '金曜',
'Sat' => '土曜',
);
配列では、[ ] でインデックスを囲みましたが、ハッシュは、 { } でキーを囲みます。
print $week{'Sun'};
> 日曜
【参照ページ】
ハッシュ
3.式と項
****
4.制御文の使い方
条件文
「もし〜ならば、・・・を実行する」という条件つき命令は、プログラムの流れを制御するときによく利用されます。 次の使用例は、変数の値によってメッセージを変えています。
if ( $var eq 'A' ) {
print "Aです";
} elsif ( $var eq 'B' ) {
print "Bです";
} else {
print "AでもBでもない";
}

ループ文
配列の値すべてに処理したいとき、foreach が便利です。foreachは、リストの1番目から順番に変数に代入していき、ブロックを実行します。リストが終了した時点で繰り返しが終了されます。
@week = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
foreach $value( @week ) {
  print $value, "\n";
}
> Sun
> Mon
> Tue
> Wed
> Thu
> Fri
> Sat
【参照ページ】
制御構文
5.ファイル入出力
ファイルを読み込むには open 関数を使います。open 関数の引数には、ファイルハンドルとファイルパスを渡します。
# 読込用にファイルを開く
open FH, "< filename.txt";
ファイルの1行目を読み込むには、ファイルハンドルを利用して次のように記述します。
$in_line = ;
すべての行を読み込んだり出力するには、while 文を使います。
構文
while (条件式) { 真のとき繰り返す } 条件式が真の間、ブロックを実行します。判定はループの最初に行われます。ループの間条件が決してFALSEにならない場合、命令が永遠に実行されます。 入力「<>」を while(<>) のように使うと、特殊変数 $_に読み込んだ行が入るようになっています。
open( DAT, "test.dat" );
while ( ) { # "test.dat"を1行ずつ読み、出力する
    print $_, "\n";
}
close( DAT );
ファイルを出力したい場合は、読み込むときと少し勝手が違います。読み込む際はファイル名の前に <という記号をつけていましたが、書込みの場合は > という記号をつけます。
# 書込み用にファイルを開く
open FH, "> filename.txt";
# データを出力
print FH $line;
close( FH );
【参照ページ】
ファイルハンドル
当然のことですが、ファイルを扱う際には、ファイルにしかるべきパーミッションが設定されている必要があります。 ファイルの読み書きをする際の手順は下記のとおりです。
ファイルを開く(open)
ファイルの内容を読みこむ/ファイルに書き込む(print など)
ファイルを閉じる(close)
openの際に、ファイルに対するアクセスの種類を決定します。具体的には、読み込みだけなのか、ファイル末尾に書き込むのか、ファイルを新規に作成してから書き込むのか、などです。openの第二引数がその指定です。詳しくは perldocやリファレンスを見ていただきたいのですが、下の例では、読み込みだけ( "<ファイル名" ) で openしています。

下の例は、UNIX コマンドの catのように、あるファイルの内容を行番号をつけて表示するプログラムです。複数のファイルが指定されれば、それらを次々に表示します。
ファイルの読み込み
foreach $fname ( @ARGV ) {
print "--------- $fname ---------\n";
open FP, "<$fname" or die "File Open Error.\n";
while( ) {
$counter++;
print "$counter : $_\n";
}
close FP;
counter = 0;
}
foreach ループでコマンドラインから引数で与えられたファイル名を取り出し、 whileループで、ファイルの内容を一行ずつ取り出し、すべての行を読み終えるまで処理しています。この while書き方は常套句なので、覚えておきましょう。$_ に、そのとき処理中の一行がそのまま入っています。
ファイルの書き込み
ファイルに書き込む際には、追記モード('>>ファイル名')と新規モード('>ファイル名')があることを知らねばなりません。 詳しくは関数リファレンスの open の項をご参照願いたいのですが、新規モードにすると、openの前にファイルに書き込まれていた内容は消去されてしまいます。
追記モードは既存のファイルに追加して書き込んでいく際に使われます。普通にすればファイルの末尾に書かれていきます。 以下、$dataというリストの内容をファイルに書き出していくサンプルです。ここでは新規モードでファイルをオープンしています。
open FP, ">/tmp/hoge.txt" or die
"Can't Open File.\n";
foreach $item (@data) {
print FP $item . "\n";
}
close FP;
6.サブルーチンの作成と使用法
サブルーチンとは、決まった処理をプログラムの別のところに記述しておき、使う際にパラメータを渡したりすることができます。また、サブルーチンからサブルーチン内で処理した結果の値を関数の呼び出し元に返すことができます。それをサブルーチンの戻り値(返り値)といいます。 サブルーチンの宣言は下記のようにします。
sub func_test {
  my ($arg1, $arg2) = @_;
  return $arg1 + $arg2;
}
2 行目の代入文は、配列 @_ の内容を、順に $arg1 と $arg2にそれぞれ代入する、という意味です。この 2 行目の時点では、@_には、引数のリストが入っています。 サブルーチンを呼び出すときは、下記のようにします。
$sum = func_test(1, 2);
上記の結果は、$sumに 1 + 2 の結果、3 が代入されます。