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

Re: Crypt::Navajo

by zengargoyle (Deacon)
on Jan 17, 2003 at 09:23 UTC ( [id://227637]=note: print w/replies, xml ) Need Help??


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.pm

cool 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
    I'd thought about writing the code in almost precisely this fashion, but since the Navajo Code hasn't been updated since 1945, it seemed unnecessary. =-)
    ~Cybercosis

    nemo accipere quod non merere

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2024-04-23 08:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found