Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: Interesting line which I read from Monk's snippets

by Tanktalus (Canon)
on Jan 31, 2006 at 04:38 UTC ( #526657=note: print w/replies, xml ) Need Help??

in reply to Interesting line which I read from Monk's snippets

qw(a - b = c ~ d ^) creates a list: "a", "-", "b", "=", "c", "~", "d", "^". Put that in braces, and you are initialising an anonymous hash. Use the arrow to dereference that hash. The brace to the right shows what key to use to dereference the hash. The key to use is the substring of $0 (the program name) - starting at position 0, length of 1.

It's like this:

my %underline = ( a => '-', b => '=', c => '~', d => '^', ); my $first_letter = substr($0, 0, 1); my $pat = $underline{$first_letter};
Just a bit more concisely, and much less readably.

It's a cute trick, but I wouldn't recommend learning how to code from it ;-)

Replies are listed 'Best First'.
Re^2: Interesting line which I read from Monk's snippets
by vennirajan (Friar) on Jan 31, 2006 at 05:16 UTC
    Hi tanktalus,

        Nice explanation.Thanks for your contribution to the Community.

    S.Venni Rajan.
    "A Flair For Excellence."
                    -- BK Systems.

Re^2: Interesting line which I read from Monk's snippets
by jesuashok (Curate) on Jan 31, 2006 at 04:46 UTC

    Thanks a lot for your fantastic explanation.
    Amazing perl

    "Keep pouring your ideas"

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://526657]
erix .oO( apparently but does not GotToBFast )
[Discipulus]: now i must come back to my house/hoven monks: dont do interesting discussion in my absence!
[erix]: or apparently, now it does :)
[GotToBTru]: heh
erix prods ambrus to (re-)start cbstream...
[GotToBTru]: I've got a program with an if ... or ... statement with 80 clauses
[stevieb]: 80 clauses? dispatch table?
[GotToBTru]: no, lookup
[stevieb]: no, I mean have you considered using a dispatch table. an 80 condition if/else is huge :)

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (11)
As of 2017-06-22 12:58 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (519 votes). Check out past polls.