输出结果是:
234567,234567,234567,123456,234567,345678,456789,567890,123456,234567,345678,456789,567890,123456,234567,345678,456789,567890,987654,876543,987654,876543,987654,876543,765432,765432,765432,654321,543210,432109,654321,543210,432109,654321,543210,432109,321098,321098,321098,865313,865313,865313,135790,246802,135790,246802,135790,246802,
为什么每次输出都是3遍?而且只是创建文件不往文件里面些内容?
(我的思想是把date写在一个数组里,判断新的date在数组中是否有,如果有flag=1,然后追加写文件,否则打开新的文件写)
# print "$1, $2, $3 /n";
# }
# else {
# print "error date /n";
# }
open(MYFILE,"logfile");
@test= <MYFILE>;
$num=@test;
@Adate=();
$dnum=@Adate;
$flag="0";
for($n=0; $n<$num; $n++)
{
$item=$test[$n];
$s=substr($item,0,8);
if($s=~ /(/d{4})(/d{2})(/d{2})$/)
{
$date="$1$2";
@Adate=(@Adate, $date);
}
for($a=0, $a<$dnum, $a++)
{
if($date eq @Adate[$a])
{
$flag="1";
}
if($flag eq "1")
{
$path="/root/Desktop/work-records/perl-work/$date";
open(FILE, ">>$path");
$s1=substr($item,9,);
while($s1=~ /([0-9]+)/g)
{
$BN=$&;
print "$BN,";
}
$flag="0";
}
else
{
#@Adate=(@Adate, $date);
$path="/root/Desktop/work-records/perl-work/$date";
open(FILE, ">$path");
$s1=substr($item,9,);
while($s1=~ /([0-9]+)/g)
{
$BN=$&;
print "$BN,";
}
}
close FILE;
}
}
234567,234567,234567,123456,234567,345678,456789,567890,123456,234567,345678,456789,567890,123456,234567,345678,456789,567890,987654,876543,987654,876543,987654,876543,765432,765432,765432,654321,543210,432109,654321,543210,432109,654321,543210,432109,321098,321098,321098,865313,865313,865313,135790,246802,135790,246802,135790,246802,
为什么每次输出都是3遍?而且只是创建文件不往文件里面些内容?
(我的思想是把date写在一个数组里,判断新的date在数组中是否有,如果有flag=1,然后追加写文件,否则打开新的文件写)
# print "$1, $2, $3 /n";
# }
# else {
# print "error date /n";
# }
open(MYFILE,"logfile");
@test= <MYFILE>;
$num=@test;
@Adate=();
$dnum=@Adate;
$flag="0";
for($n=0; $n<$num; $n++)
{
$item=$test[$n];
$s=substr($item,0,8);
if($s=~ /(/d{4})(/d{2})(/d{2})$/)
{
$date="$1$2";
@Adate=(@Adate, $date);
}
for($a=0, $a<$dnum, $a++)
{
if($date eq @Adate[$a])
{
$flag="1";
}
if($flag eq "1")
{
$path="/root/Desktop/work-records/perl-work/$date";
open(FILE, ">>$path");
$s1=substr($item,9,);
while($s1=~ /([0-9]+)/g)
{
$BN=$&;
print "$BN,";
}
$flag="0";
}
else
{
#@Adate=(@Adate, $date);
$path="/root/Desktop/work-records/perl-work/$date";
open(FILE, ">$path");
$s1=substr($item,9,);
while($s1=~ /([0-9]+)/g)
{
$BN=$&;
print "$BN,";
}
}
close FILE;
}
}