たくさんの変数をまとめて宣言してみる


cgi で、入力されたデータを変数に落とす場合、こんなやり方をしたりしますが、

$name = $input{'name'};
$mail = $input{'mail'};
$tel = $input{'tel'};

同じ形式だけど、一部分だけ違う。こんなのがたくさんあると、非常に面倒です。
ちょっと楽にやりたいもんです。置換しましょう。

あらかじめ、キーになる文字を一行ずつ書いておきましょう。

置換前サンプル
name1
name2
mail
tel
birth_y
birth_m
birth_d

検索:
置換:

 置換後
$name1 = $input{'name1'};
$name2 = $input{'name2'};
$mail = $input{'mail'};
$tel = $input{'tel'};
$birth_y = $input{'birth_y'};
$birth_m = $input{'birth_m'};
$birth_d = $input{'birth_d'};
おお、できた。ちょっと楽。

変数名は頭に r_ を付けて、input は頭に s_ が付くんだ、といった場合も。

置換:

 置換後
$r_name1 = $input{'s_name1'};
$r_name2 = $input{'s_name2'};
$r_mail = $input{'s_mail'};
$r_tel = $input{'s_tel'};
$r_birth_y = $input{'s_birth_y'};
$r_birth_m = $input{'s_birth_m'};
$r_birth_d = $input{'s_birth_d'};

数字を使えば、連番を振ったりもできそう。