Support wrote:
> 
> Hi all

Hello,

> I have a little bit of code you may be able to help with. I load a
> file into an array with
> 
> foreach $lines(@database_array) {

You should limit the scope of $lines to the foreach loop.  Does $lines
contain multiple lines or just one line?  Perhaps you should name it
$line instead.

foreach my $line ( @database_array ) {


>     @edit_array = split(/\:/,$lines);
>     push(@member_array,[EMAIL PROTECTED]);

You are assigning the list returned from split() to the array
@edit_array and then copying that array to an anonymous array.  If you
lexically scope @edit_array to the foreach loop you can push its
reference instead of copying it twice:

      my @edit_array = split /\:/, $line;
      push @member_array, [EMAIL PROTECTED];

Or you could just copy the list directly and avoid using a named array:

      push @member_array, [ split /\:/, $line ];


>     $x++;

Is $x used anywhere?


>     }   #loop

Or you could declare and assign to @member_array using the map function:

my @member_array = map [ split /\:/ ], @database_array;


> and then play around with the array a bit, then I would like to load
> it back into the file with
> 
> while($count<$x){
> $newline = join("\:",$member_array[$count],[EMAIL PROTECTED]);
> chomp($newline);
> print DAT "$newline\n";
> $count++;
> }

Perhaps you want something like this:

foreach my $line ( @member_array ) {
    print DAT join ':', @$line;
    }

Or with the map function:

print DAT map join( ':', @$_ ), @member_array;



John
-- 
use Perl;
program
fulfillment

-- 
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