http://qs321.pair.com?node_id=590638


in reply to Re^2: secret code generator
in thread secret code generator

Simpler, yes. Easier to understand, no - unless you use ASCII codes all day long.

Also, note BrowserUK's solution, your map can be written simply as map chr, 0x21 .. 0x7e;

Update: BrowserUK noted himself :)

-- Hofmator

Code written by Hofmator and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Replies are listed 'Best First'.
Re^4: secret code generator
by johngg (Canon) on Dec 19, 2006 at 11:32 UTC
    Easier to understand? Debateable. I feel that this

    my @chars = ("a".."z", "A".."Z", 0..9 , split //, qq(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~));

    looks a bit messy and it is difficult to see at a glance, or even with a long stare, if you've got them all. In fact, I think tilly will have missed one since qq{...} is going to lose the backslash so q{...} might have been better.

    $ perl -le 'print for split m{}, qq{!@#{}[\]&*};' ! @ # { } [ ] & * $ perl -le 'print for split m{}, q{!@#{}[\]&*};' ! @ # { } [ \ ] & * $

    Cheers,

    JohnGG

    Update: Added one-liners to show backslash behaviour