Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Updating A Hash Recursively

by gargle (Chaplain)
on Sep 05, 2005 at 05:43 UTC ( #489145=note: print w/replies, xml ) Need Help??


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'); } ...
--
if ( 1 ) { $postman->ring() for (1..2); }

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (9)
As of 2020-06-01 17:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you really want to know if there is extraterrestrial life?



    Results (5 votes). Check out past polls.

    Notices?