> How can I do this?
You can do it like this...
# tested
my @stack;
while (<STDIN>) {
last if /QUIT/;
push @stack, $_;
}
print "@stack";
Rob
-----Original Message-----
From: Dan Anderson [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 25, 2003 8:23 PM
To: Perl Newbies
Subject: How do I<STDIN> to a stack until a pattern is matched, How do I
Is there an easy way to read <STDIN> into a stack until some pattern is
matched and then break. I tried all sorts of (error producing) code,
but nothing seemed to work. I ended up with:
#! /usr/bin/perl
#can I make this more concise?
$infinite_loop = 1;
while ($infinite_loop)
{
$temp = <STDIN>;
if ($temp =~ /QUIT/)
{
$infinite_loop = 0;
continue;
}
push @thestack, $temp;
}
I've got a funny feeling that perl will let me make the above 15 lines
of code /much/ more concise. How can I do this?
Is there any way to do something like?
while (1)
{
push @thestack, <STDIN> unless <STDIN> =~ /QUIT/;
last if <STDIN> =~ continue;
}
Or perhaps something even more concise (and much more perlish)?
Thanks,
Dan
--
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]