in reply to Updating A Hash Recursively
Hi,
I hope I understand the question.
First, you do put things together :) However, as your print statement is in the block that does the joining you don't see the result. Put an extra foreach at the end to print out the result.
Second, why that last if...? You iterate @tojoin over %item so that you'll end up only with:
A B C AW AX AY AZ BW BX BY BZ CW CX CY CZ
Is this what you want?
#!/usr/bin/perl my %line = ('A' =>1, 'B' =>1, 'C' =>1); my @tojoin = qw (W X Y Z); foreach my $line ( keys %line ) { # print "$line\n"; foreach my $tojoin ( @tojoin ) { my $nstr = $line.$tojoin; $line{$nstr} = 1; } # last if ($line eq 'AYW'); } foreach my $line ( keys %line ) { print "$line\n"; }
Of course, A, B and C stay in the original %item. You might need to delete them:
... foreach my $line ( keys %line ) { # print "$line\n"; delete $line{$line}; foreach my $tojoin ( @tojoin ) { my $nstr = $line.$tojoin; $line{$nstr} = 1; } # last if ($line eq 'AYW'); } ...
|
|---|