Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Stumped UPDATED!?!?!

by ysth (Canon)
on Feb 11, 2008 at 05:43 UTC ( #667325=note: print w/ replies, xml ) Need Help??

in reply to Stumped UPDATED!?!?!

Use a dispatch table.

Comment on Re: Stumped UPDATED!?!?!
Replies are listed 'Best First'.
Re^2: Stumped UPDATED!?!?!
by Thelonius (Priest) on Feb 11, 2008 at 05:45 UTC
    For example,
    use strict; use warnings; $| = 1; # auto flush stdout sub more { print "more()\n" } sub fallover { print "fallover()\n" } sub leave { print "Bye!\n"; exit; } my %cmdhash = ( fun => \&more, laugh => \&fallover, exit => \&leave, ); print "Welcome to johns fun house\n"; while (1) { print " : "; my $command=<>; chomp $command; if (my $func = $cmdhash{$command}) { $func->(); } else { print "I'm afraid I don't know how to \"$command\"\n"; } }
      $| = 1; # auto flush stdout


        When I ran this without that, I didn't see the prompt or any of the output. I was running ActivePerl 5.8.8 in an rxvt window. If I run cygwin perl, I don't need the $|=1, or if I run either perl in a DOS box, I don't need it. Dunno why.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (12)
As of 2015-10-13 11:58 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (302 votes), past polls