次のようなエントリを含むテキストファイル temp.txt があります。
cinterim=3534
cstart=517
cstop=622
ointerim=47
ostart=19
ostop=20
注: キーと値のペアは、新しい行に配置することも、スペースで区切って 1 行にまとめて配置することもできます。
Perl を使用して、対応するキーのこれらの値を印刷して DB に保存しようとしています。しかし、多くのエラーと警告が表示されます。現在、これらの値を印刷しようとしています。
use strict;
use warnings;
open(FILE,"/root/temp.txt") or die "Unable to open file:$!\n";
while (my $line = <FILE>) {
# optional whitespace, KEY, optional whitespace, required ':',
# optional whitespace, VALUE, required whitespace, required '.'
$line =~ m/^\s*(\S+)\s*:\s*(.*)\s+\./;
my @pairs = split(/\s+/,$line);
my %hash = map { split(/=/, $_, 2) } @pairs;
printf "%s,%s,%s\n", $hash{cinterim}, $hash{cstart}, $hash{cstop};
}
close(FILE);
誰かが私のプログラムを改良するのを手伝ってくれませんか?