Could also be coded...this does the same thing:use warnings; use strict; use Data::Dumper qw(Dumper); my @clk = ('ux_prim_clk', 'ux_side_clk', 'ux_xtal_frm_refclk'); #my @clk_output = map [ split /_/, $_ ], @clk; # Just as a note: Performance is the same with explict loop. # Every map statement can be expressed as a foreach() loop. # This is the same your previous statement - nothing wrong with it # just demo'ing what the map actually does... my @clk_output; foreach my $clk_line (@clk) { push @clk_output, [split "_",$clk_line]; } print Dumper \@clk_output; my @clk_new; foreach my $row_ref (@clk_output) { push @clk_new, join ("_",@$row_ref); } print Dumper \@clk_new; __END__ $VAR1 = [ [ 'ux', 'prim', 'clk' ], [ 'ux', 'side', 'clk' ], [ 'ux', 'xtal', 'frm', 'refclk' ] ]; $VAR1 = 'ux_prim_clk'; $VAR2 = 'ux_side_clk'; $VAR3 = 'ux_xtal_frm_refclk';
use warnings; use strict; use Data::Dumper qw(Dumper); my @clk = ('ux_prim_clk', 'ux_side_clk', 'ux_xtal_frm_refclk'); my @clk_output = map [ split /_/, $_ ], @clk; print Dumper \@clk_output; my @clk_new = map{my $line =join ("_", @$_); $line}@clk_output; print Dumper \@clk_new;
In reply to Re: join string in 2D array
by Marshall
in thread join string in 2D array
by Newbie95
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |