Perl→PHP書き換えメモ

個人的には100%スクリプトであるPerlのほうが好きなのですが、PHPのほうが軽かったりするとかで、カウンターやチャットなど、頻繁に呼び出されるCGIとかはPHPに書き換えたほうがいいかと思い、こういうのを作ってみました。

PerlCGIPHP処理内容
# コメント
// コメント
行末までコメント
# 複数行に渡る
# コメント
/* 複数行に渡る
   コメント */
複数行のコメント
@array = ('abc', 'def', 'ghi');
$array = array('abc', 'def', 'ghi');
配列の代入
sub abc {
	return 1;
}
&abc;
function abc() {
	return 1;
}
abc();
関数呼び出し
sub abc {
	$def = $_[0];	$ghi = $_[1];
	return $def + $ghi;
}
&abc(3, 5);
function abc($def, $ghi) {
	return $def + $ghi;
}
abc(3, 5);
引数つき関数呼び出し
$ref = $ENV{'HTTP_REFERRER'};
$ref = $_SERVER{'HTTP_REFERRER'};
または
$ref = getenv('HTTP_REFERRER');
環境変数の参照
print 'aaa';
echo 'aaa';
標準出力
($a, $b, $c) = @abc;
list($a, $b, $c) = $abc;
複数変数に一括代入
foreach (@a) {
	print $_;
}
foreach ($a as $_) {
	print $_;
}
配列の全要素にアクセス
foreach (@a) {
	$_*=2;
}
foreach ($a as $key => $value) {
	$a[$key]*=2;
}
配列の全要素を変更
$a = 5;
&pp;
print $a;
sub pp {
	$a = 3;
}
$a = 5;
pp();
echo $a;
sub pp {
	global $a;
	$a = 3;
}
グローバルスコープ
$a = 5;
&pp;
print $a;
sub pp {
	local($a);
	$a = 3;
}
$a = 5;
pp();
echo $a;
sub pp {
	$a = 3;
}
ローカルスコープ
push(@array, @list);
unshift(@array, @list);
pop(@array);
shift(@array);
array_push($array, $list);
array_unshift($array, $list);
array_pop($array);
array_shift($array);
配列処理
if ($a) {
}
elsif ($b) {
}
else {
}
if ($a) {
}
elseif ($b) {
}
else {
}
条件判断