Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Table Manipulation

by BillKSmith (Chaplain)
on Aug 26, 2012 at 02:57 UTC ( #989775=note: print w/ replies, xml ) Need Help??


in reply to Table Manipulation

Array of arrays works well. Build a line of table_3 (using array slices) when a match is found.

use strict; use warnings; use Data::Dumper; my @table_1 = ( # A B C [ 1, 1, 1 ], [ 1, 0, 2 ], [ 0, 1, 3 ], ); my @table_2 = ( # A P Q R [ 1, 1, 0, 1 ], [ 1, 0, 1, 0 ], [ 0, 0, 0, 1,], ); my @table_3; foreach my $row_of_1 (@table_1) { foreach my $row_of_2 (@table_2) { if ( $row_of_1->[0] == $row_of_2->[0] ) { push @table_3, [@{$row_of_1}[1..2],@{$row_of_2}[1..3]]; } } } print Dumper \@table_3;
Bill


Comment on Re: Table Manipulation
Download Code
Re^2: Table Manipulation
by aartist (Scribe) on Aug 27, 2012 at 15:26 UTC
    Helpful solution. Thanks.
    I have 2 more requirement. I need the column names in the answer. 2. I have more table_2 types tables for specified columns of in table_1, that I need to merge. For example I have table_2 that also start with 'B' or 'C' in addition to what is already there (table_2 that starts with 'A').

      Try to do the second new requirement yourself. Make a second program exactly the same as the first except for the subscripts. We can look into generalizing later.

      Do you just need column names in the output or do you need a data structure which includes the names?

      Bill

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://989775]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (8)
As of 2014-08-28 03:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (255 votes), past polls