怎样将表数组中的数据写入到文件中

怎样将表数组中的数据写入到文件中

通地函数:fetchrow_array将查询结果写入到一个数组中@ci_sz.
怎么将@ci_sz中的数据全部写入到一个文件里呢?
数组内容:
10791
12821
12901
11871
11891
11952
11971
12052
11383
10421
11402
11931


open(IN,">>sz_ci.log"||die "Can not write!";
print IN "@ci_sz\n";
close(IN);
我这样写了之后发现文件里只有一条记录:11931.应该怎么样全部写入文件.不能覆盖.
[fly]php忠实网迷[/fly]


[Copy to clipboard] [ - ]
CODE:
open IN,">",$yourfilename or die "Cannot create file!\n";
foreach (@yourdata){
    print IN "$_\n";
}
close IN;

for(@ci_sz)
{
        print IN $_ ,"\n";
}


QUOTE:
原帖由 HF.SKY000 于 2008-11-28 16:11 发表
通地函数:fetchrow_array将查询结果写入到一个数组中@ci_sz.
怎么将@ci_sz中的数据全部写入到一个文件里呢?
数组内容:
10791
12821
12901
11871
11891
11952
11971
12052
11383
10421
11402
1193 ...



[Copy to clipboard] [ - ]
CODE:
my @ci_sz = qw(
        10791
        12821
        12901
        11871
        11891
        11952
        11971
        12052
        11383
        10421
        11402
        11931
        );


open IN,">>sz_ci.log" || die "Can not write!";
map { print IN $_, "\n"; } @ci_sz;
close(IN);

楼上map用得好,呵呵
&get_ci_sz();
sub get_ci_sz{
        my @ci_sz;
        my $sql_sz="select count(*) a,c.ci from unicom:hb_cm_cell a ,unicom:ne_bsc b ,unicom:ne_cell c where a.type1=b.china_name and c.city_id=b.city_id and c.ci=a.ci   and b.city_id='114' and c.n_confirm<>1 group by 2 having count(*)>1";
        $sth=$dbh->prepare($sql_sz);
        $sth->execute();
        while(my @row=$sth->fetchrow_array){
                @ci_sz=$row[1];
                open(IN,">sz_ci.log"||die "Can not write!";
                foreach(@ci_sz){
                                print IN "$_\n";
                }
                close(IN);
        }
        }
}

这样也不行,more sz_ci.log.也是一行
[fly]php忠实网迷[/fly]
LZ是别的地方搞错了,原来的方法是可以成功输入的。
全部程序都贴这里了,不知道是怎么搞的,高手帮忙
[fly]php忠实网迷[/fly]
大哥, 这是追加方式,你这里写错了.

open(IN,">>sz_ci.log"||die "Can not write!";
但是这样程序每运行一次,就会追加一次.有没有其它办法呀?
[fly]php忠实网迷[/fly]