2010年12月
eval
perlで変数に格納された値を使って文字列置換を行うとして、こんなコードを書いた。
#!/usr/bin/perl
use strict;
use warnings;
my $target = '12/10/2010';
my $srcexp = '(\d{2})/(\d{2})/(\d{4})';
my $deststr = '$3-$1-$2';
$target =~ s/$srcexp/$deststr/;
print "$target\n";
これは「mm/dd/yyyy」というフォーマットの日付を「yyyy-mm-dd」という形式に変換しようとしたものだが、残念ながら期待通りの結果にはならない。返ってくるのは「2010-12-10」ではなく「$3-$1-$2」である。perlでは文字列置換の式に直接変数を置くことができるが、置換前文字列のパターンの変数内のメタキャラクタは解釈してくれるのに、置換後の文字列の変数については後方参照を解釈してくれないらしい。そこで次のようにコードを書き換えた。
#!/usr/bin/perl
use strict;
use warnings;
my $target = '12/10/2010';
my $srcexp = '(\d{2})/(\d{2})/(\d{4})';
my $deststr = '$3-$1-$2';
my $command = '$target =~ s/$srcexp/' . $deststr . '/';
eval($command);
print "$target\n";
なんのことはない、文字列置換の式をいったん文字列で記述してevalに渡しているだけである。これで期待する結果が得られる。こういうevalの使い方が適切かどうかはよくわからないが、こうした動的なコードを実行する仕組みは確かに強力だなぁ。
三種混合ワクチン 2回目
瑞樹くんは今日、三種混合ワクチンの2回目の接種。前回はそれこそ大泣きだったらしいので覚悟して臨んだのだが、今度は案外大人しく接種を受けた。もちろん注射の直後は泣き声をあげるけど、しばらくあやしてやれば比較的早く落ち着いてくれた。赤ちゃんは日々成長しているんだなぁ。
リヴィエラブルーの次走はグッドラックハンデ
レース後もとくに疲れは見られないらしいが、一週間ほど外厩に出て、26日の中山8R(グッドラックハンデ、芝2,500m)に向かうとのこと。叩いての変り身がどの程度か。
12月5日中山8R(芝2,500m)
リヴィエラブルーが田中勝春騎手騎乗で出走。道中は好位を進むも、勝負どころから後退、見せ場なく勝ち馬から1秒1差の9着に終わる。放牧明けのこの馬らしいレースと言えよう(^^;。
J1: 第34節 名古屋 vs 広島
名古屋 2 - 1 広島。残念ながら最終節を勝利で締めくくることができなかった。ACLを戦い、ナビスコカップで決勝まで進んだことで、今年は本当に厳しい日程を消化することとなった。しかも負傷者が続出する中、上位をうかがいつつ7位という結果は悪くない。来年はいよいよタイトル獲得に期待がかかる。