正規表現

正規表現とは、文字列(主に)の一部をパターン化して記述する表現方法です。
こんな感じで使います。
my $string = "abcdefg";
if($string =~ /abc/){ # 文字列 $stringに「abc」が含まれているか。
	print "abcを含んでいる\n";
}

次に、パターン化するためにメタ文字といものを使います。
A           Aという文字
ABC         ABCという文字列
A+          1個以上連続したA
A*          0個以上連続したA
.           \nを除く1つの任意文字
A?          0個または1個のA
^ABC        ABCで始まる
ABC$        ABCで終わる
[ABC]       A,B,Cのいずれか1文字
[A-Z]       A~Zまでのいずれか1文字
[A-Za-z0-9] A~Z, a~z, 0-9までのいずれか1文字
[^ABC]      A,B,C以外の文字
[^A-Z]      A~Z以外の文字
[A|B|C]     AまたはBまたはC
\w          英数文字かアンダーバー(_)。(=[a-zA-Z0-9_])
\W          \w以外の文字
\d          数値文字。(=[0-9])
\D          \d以外の文字
\s          空白文字
\S          \s以外の文字
\nなど      エスケープ文字の\nなど
(ABC)       グループ化ABCという文字列で。()内は後で参照可($1)。
{n}         n文字分
{,m}        m文字以下
{n,m}       n文字以上、m文字以下

例)
my $date = '2012/01/02 10:11:13';
$date =~ /([\d]{4})\/([\d]{2})\/([\d]{2}) ([\d]{2}):([\d]{2}):([\d]{2})/;
my $year = $1;   # 2012
my $month = $2;  # 01
my $day = $3;    # 02
my $hour = $4;   # 10
my $minute = $5; # 11
my $second = $6; # 13

使用例で$1~$5を使って、マッチング部分を後で参照していますが、
他にも参照する方法があります。
$1, $2, $3 ...  # ()の部分にマッチした文字列
$+              # 最後にマッチした()部分
$&              # マッチした部分の文字列
$`              # マッチした部分から前側の文字列
$'              # マッチした部分から後側の文字列

以上です。                                                   >>7. サブルーチン