in reply to Crypt::Navajo
i don't know if this is faster or slower, but it seems like it would be easier to maintain if you built %DALPHA from %CALPHA and the same for %DDICT
my %CALPHA = ( 'A' => [ 'wanker', 'tweet', 'bonk' ], 'B' => [ 'ping', 'zilch' ], ... ); my %DALPHA; foreach my $k ( keys %CALPHA ) { foreach my $l ( @{$CALPHA{$k}} ) { $DALPHA{$l} = $k; } }
then you just have to update one hash instead of two
if updates are frequent go a step further and pull them in from a DATA section.
... while (my $l = <DATA>) { my ($plain,$crypt) = split /\s+/, $l; %CDICT{$plain} = $crypt; %DDICT{$crypt} = $plain; } ... __DATA__ CORPS DIN-NEH-IH DIVISION ASHIH-HI REGIMENT TABAHA ...
you may have to use a different delimiter depending on your code.
HOT HEAD:DEF-DUM-DEE CRUISE MISSILE:BOOM-BOOM
then you can add a new word way easy...
echo "JAR HEAD:UG-GO-GRUNT" >> /path/to/Crypt/Navajo.pmcool anyways... now i can decode the blood-stained documents that mysteriously turned up in my mailbox
Update: merlyn is correct, i meant to say $CDICT{$plain}=$crypt; $DDICT{$crypt}=$plain;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
•Re: Re: Crypt::Navajo
by merlyn (Sage) on Jan 17, 2003 at 12:30 UTC | |
|
Re: Re: Crypt::Navajo
by Cybercosis (Monk) on Jan 26, 2003 at 21:32 UTC |