in reply to Re: Updating 1 array affects the other array
in thread Updating 1 array affects the other array

Hi everyone. Thanks for the pointers. I clean up things like removing the arrows. So far it has not work, because there's this part of the code, where I suspect is wrong, but I'm not skilled enough to think of an alternative.
my %seen_values; my @unique_terminal_id = grep { !($seen_values{$_->[4]}++) } @temp_ope +n_single; my %seen_values; my @unique_manufacturer_model = grep { !($seen_values{$_->[9]}{$_->[10 +]}++) } @unique_terminal_id; my %seen_values; my @unique_manufacturer_model_version = grep { !($seen_values{$_->[9]} +{$_->[10]}{$_->[11]}++) } @unique_terminal_id;
This portion of code is where I have declared the arrays and just before I encounter the problem. Basically, what I am trying to do is grep unique column pair in a table(array of array) and store them into a new table. I managed to get what I wanted (e.g. the unique pairs), but I ca'nt quite see how it ended up cross-referencing to another array. Thanks!

Replies are listed 'Best First'.
Re^3: Updating 1 array affects the other array
by Anonymous Monk on Sep 02, 2008 at 08:42 UTC
    ...but I ca'nt quite see how it ended up cross-referencing to another array.
    Let me repeat, it is because you are storing references. If you want copies, use Storable qw(dclone); Observe
    my $ref = [ 1,2]; my $another = [3,4]; my @foo = ( $ref, $another); my @bar = $foo[1]; die $bar[0][1]; __END__ 4 at - line 6.
    get it?