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

RE: Animals

by merlyn (Sage)
on May 05, 2000 at 18:58 UTC ( #10368=note: print w/replies, xml ) Need Help??

in reply to Animals

Here's my version of that, which I wrote for a UnixReview column but never got around to it...
#!/usr/bin/perl -w use strict; use Data::Dumper; my $info = "dog"; { try($info); redo if (yes("play again?")); } print "Bye!\n"; print Dumper($info); sub try { my $this = $_[0]; if (ref $this) { return try($this->{yes($this->{Question}) ? 'Yes' : 'No' }); } if (yes("Is it a $this")) { print "I got it!\n"; return 1; }; print "no!? What was it then? "; chomp(my $new = <STDIN>); print "And a question that distinguishes a $this from a $new would b +e? "; chomp(my $question = <STDIN>); my $yes = yes("And for a $new, the answer would be..."); $_[0] = { Question => $question, Yes => $yes ? $new : $this, No => $yes ? $this : $new, }; return 0; } sub yes { print "@_ (yes/no)?"; <STDIN> =~ /^y/i; }

-- Randal L. Schwartz, Perl hacker

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://10368]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2018-02-24 02:54 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (310 votes). Check out past polls.