PHP触ってる
SSIでブログもどきを作る作戦を実行中なんだが、
「SSI鯖にCGI鯖からFTPで接続して編集。」
って仕組みなんだが、
PerlのNet::FTPは標準モジュールじゃないし、
Ubuntuの公式リポジトリにもない。
で、どうしようか考えてたんだが、
PHPは標準でFTP接続用の関数が用意されてるんだね。
すごいね。
ってわけで、PHPで作ることにした。
なんだが、
PHPの正規表現でハマったわ・・・
正規表現の後方参照を連想配列のキーとして置換しようとしたんだが、
Perlでいうところの、
$str=~s/(\w+)/$hash{$1}/g;
的なことをやりたいわけだが、
$str=preg_replace('/(\w+)/e',"\$hash['$1']",$str);
ってな感じで、
置換文字列を、後方参照した上でPHPコードになるような文字列で渡して、
eオプション付けて置換文字列を式として実行しなくちゃいけないんだね。
わかりにくすぎる。
eオプション付けると負荷が大きくなりそうだし。
PHPは他にも便利関数が豊富な感じするんだが、
基本的なコードの書き方が気に入らんのだよね。