09/27/2009 19:48:00 Departure Location
我正在尝试匹配和替换文本文件中的给定行。日期和时间之后的文本长度可能会有所不同。我正在逐行读取文件,我需要将最终输出打印为 -
Date=> 09/27/2009
Time=> 19:48:00
Text=> Departure Location
我试图一次性完成替换,如下所示 -
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 初学者。任何帮助表示赞赏。谢谢!