in reply to (Golf) The Animal Game

Here is my entry in the Golf game, but with some additions that may throw me off the tour. I made two data structures @a for animals and @q for questions. I then update these inside of the allowed subs that are/were outlined in the rules. With that said I am at ~111 characters in my do_it sub.
my @q = ( 'Is your animal larger then a bread box', 'Is your animal taller then a car' ); my @a = ( 'dog' ); sub a { print shift, "?\n"; my \$a = <>; return 1 if \$a =~ /y/i; } sub g { print 'I think your animal is a ', shift , ", am I right?\n"; my \$a = <>; return 1 if \$a =~ /y/i; } sub t { my \$q = shift; print "What was your animal?\n"; my \$a = <>; chomp \$a; push @a , \$a; return \$a; } sub i { my (\$u,\$g) = @_; print "What is a question that is true for \$u, but false for \$g?\n +"; my \$answer = <STDIN>; chomp \$answer; push @q , \$answer; return \$answer; } sub w { print "Do you want to conitue?\n"; my \$a = <>; if (\$a =~ /n/i) { die "Thanks for playing\n"; }; do_it(); } sub do_it{ for\$s(@a){\$g=\$s;for\$q(@q){if(a(\$q)){\$g=\$r{\$q}||\$s}} if(g(\$g)){w()}else{\$t=t();\$i=i(\$t,\$g);\$r{\$i}=\$t;do_it()}}} &do_it(); 1;