09/27/2009 19:48:00 Departure Location
テキストファイル内の指定された行を一致させて置き換えようとしています。日付と時刻の後のテキストの長さはさまざまです。ファイルを1行ずつ読んでいて、最終出力を次のように印刷する必要があります--
Date=> 09/27/2009
Time=> 19:48:00
Text=> Departure Location
次のように、1回のパスで置換を実行しようとしました-
if($line =~ m/(\d+)\/(\d+)\/(\d+)\h{1}(\d+):(\d+):(\d+)/){
$line =~ s/(\[a-zA-Z])/\nText=> $1/;
$line =~ s/(\d+)\/(\d+)\/(\d+)/\nDate=> $1\/$2\/$3/;
$line =~ s/\h{1}(\d+):(\d+):(\d+)/\nTime=> $1\:$2\:$3/;
print FH "$line\n";
}
しかし、私が得ているのはこれだけです-
Date=> 09/27/2009
Time=> 19:48:10 Departure Location
のマッチングに問題があることはわかっていますがText
、修正できません。まだまだPerl初心者です。どんな助けでも大歓迎です。ありがとう!