> 
> Can anyone help with this????
>     I have the following array:
>     1,10400000209458
>     2,10400000328655
>     3,10400000847094
>     4,10400001030406
>     5,10400002093756
>     I need to create a script that goes through this 
> array(@temp_array), and
>     creates various output files with N rows in each file.  
> Here's what I have
>     so far.
>     ####WRITE CONTENTS OF AN ARRAY TO OUTPUT FILES####
>     for ($i=0; $i < $num_of_files; $i++){
>      open(OUT,">$file_$seq_num.txt");
>         foreach $item (@temp_array){ 
>     #
>     # I NEED SOME LOGIC HERE
>     #        
>             ($row_num,$prepaid_card_num) = split(/,/,$item);
>              print OUT "$row_num,$prepaid_card_num\n";
>         } #end of foreach loop     
>       close(OUT);
>       $seq_num     = $seq_num+1;
>     } #end of for loop
>     
>     
>     If I wanted to break this up into 3 files, and max number 
> of lines in each
>     file is 2(in this case 2 files w/ 2 rows, 1 file with 1 row). 
>     How can I code this???
>     


Hi Boris
Try something like below, I did quick and did not have time to test, but the
idea should be there. still have to figure out how to handle the last file
with less than 2 rows (while statement) as you will probably get an empty
line 

-----------

# populate your array
my @temp;
my $file = 'out'; my $num =1; 

foreach (@temp)  {
        # array slicing here
        $cnt = 0;
        my $fh = open_new($file$num);
        while ($cnt < 2 ) {
                print F $someline; 
                ++$cnt;
        }
        close $fh;
        ++$num;
}


sub open_new {
        my $file = shift ;
        local *F; 
    open(F, ">$file") or die "can't open: $!"; 
        return *F; 
}
















-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.6.9 - Release Date: 1/6/2005
 


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to