挿入クエリがあります:
INSERT INTO EMP (ENAME,DATE,HIRE)
VALUES
('John',TO_DATE('03/14/2005 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),'YES');
TO_DATE 部分を解析し、内部の日付を perl に置き換えたいと考えています。('14-MAR-05' として)
解析コードは次のとおりです。
+90 if ( $statement =~ /(.*)TO_DATE\((.*)\),(.*)/ )
+91 {
+92 my $date_format;
+93 if( $2 =~ /(.*?)(..\/..\/....)(.*)/ )
+94 {
+95 my ($mon,$day,$year) = split ( /\//, $2 );
+96 foreach my $i (%month)
+97 {
+98 if ( $mon eq $i )
+99 {
+100 $year =~ s/^..//;
+101 $date_format = "'" . "$day" . "-" . "$month{$i}" . "-" . "$year". "'";
+102 }
+103 }
+104 }
+105 $statement =~ s/TO_DATE(.*\)?)/$date_format/;
105 行目は、文字列の末尾全体を置き換えています。ここで何が間違っていますか?