I always think "what am I getting as the result of the evaluation of this expression?". In this case, you're asking for the evaluation of element zero in array "array", which is a scalar, so $array[0] means (at least to my little brain) "scalar returned from the zeroth element of array "array"". Is that wrong?
Wagner-David wrote: > Unsure. I always run with warnings and I was told it was better to use $_[0] >vs @_ . The message there was > > Scalar value @_[0] better written as $_[0] > > On the second it comes back with msg: > > Scalar value @answers[$i] better written as $answers[$i] > > So I did. > > Wags ;) > > -----Original Message----- > From: Steven M. Klass [mailto:[EMAIL PROTECTED]] > Sent: Friday, February 15, 2002 14:09 > To: Wagner-David; [EMAIL PROTECTED] > Subject: Re: More help with my function > > Hi all, > > Doh!! It must be MONDAY!! I am such an IDIOT!! > > Couple of questions. How did changing $prompt [@_[0]] to $prompt $_[0] fix > it? I mean why didn't $_[0] put the prompt. Let me guess shift removed it > from the stack.. > > I know that if I want the first variable of @answers I can call it with > $answer[0], but why doesn't @answers[0] work? > > Thanks so much > > On Friday 15 February 2002 02:49 pm, Wagner-David wrote: > > Uncertain what you are trying to get from the list: > > > > I changed print "$prompt [@_[0]]"; to print "$prompt $_[0]"; > > > > and if ( $response eq $answers ){ to if ( $response eq $answers[$i] ){ > > > > It ran without any warnings and after I gave correct answer, it quit. > > > > Wags ;) > > -----Original Message----- > > From: Steven M. Klass [mailto:[EMAIL PROTECTED]] > > Sent: Friday, February 15, 2002 13:26 > > To: [EMAIL PROTECTED] > > Subject: More help with my function > > > > > > Hi all, > > > > Here is a simple script that I am having a heck of a time with. I think it > > will become apparent what I'm trying to do. Ask a question and validate > > the answer. > > > > &AskQuestion("Enter the hierarchical mode", my @hier = qw/inquiry smart > > yes/); > > > > sub AskQuestion { > > my $prompt = shift; > > my @answers = @_; > > my $response; > > while ( ! $response ) { > > print "$prompt [@_[0]]"; > > $response = <STDIN>; > > chomp $response; > > if ( $response eq "" ) { > > $response = @answers > > } > > if ( $response eq "?") { > > $response = ""; > > print "Valid answers are: \n"; > > print "@answers\n"; > > } > > print "\n"; > > > > my $match; > > for ( my $i = 0; $i < @answers ; $i++ ){ > > if ( $response eq $answers ){ > > $match = "true"; > > return $response; > > } > > } > > if ( ! $match ){ $response = "";} > > } > > } > > > > I think it must be friday or something, but could someone help me clean > > this up. I want something simple, and I think I have over-engineered this. > > Any help is appreciated! > > > > Thanks so much. I love this list!:) > > -- > > Steven M. Klass > Physical Design Manager > > National Semiconductor Corp > 7400 W. Detroit Street > Suite 170 > Chandler AZ 85226 > > Ph:480-753-2503 > Fax:480-705-6407 > > [EMAIL PROTECTED] > http://www.nsc.com > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]