From: "John W. Krahn" <[EMAIL PROTECTED]>
> Grant Hansen wrote:
> >
> > Can someone tell me what is wrong with this.
> >
> > Upon entering a 0 I want to break out of the loop and continue
> > processing the data in @data.
> >
> > $quit = 0;
> > while (! $quit) {
> > chomp(@data = <STDIN>);;
> > if ($data == 0) {
> > $quit = 1;
> > }}
>
>
> If you want to stop input based on what the user entered on the
> command line then you have to read ONE line at a time and not use an
> array for input. BTW your loop will only read numbers and not strings
> because the test '== 0' will evaluate strings in a numerical context
> which are always equal to 0.
Unless the string starts with a number that is not equal to zero :-)
That is this loop
> while ( my $input = <STDIN> ) {
> chomp $input;
> last if $input == 0;
> push @data, $input;
> }
will read lines as long as they all start with a non zero number.
Therefore the @data may the contain things like
1sdgdfsg
59 this is nonsense
-1 bellow zero
Jenda
=========== [EMAIL PROTECTED] == http://Jenda.Krynicky.cz ==========
There is a reason for living. There must be. I've seen it somewhere.
It's just that in the mess on my table ... and in my brain
I can't find it.
--- me
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]