Chris Dolan wrote: > A simplified version and an equivalent, first-draft Golfed version:
> #!/usr/bin/perl -w > use Math::RPN; > $| = 1; > while ($_="@ARGV" || <>) { > @stack = rpn @stack, split; > last if @stack && $stack[-1] =~ /^q/i; > print "@stack "; > print("n"),last if @ARGV; > } > #!perl > use > Math::RPN;$|=1;1while($_="@ARGV"||<>)&&!((@[EMAIL PROTECTED],split)&&$s[-1]=~/^q/ > i||print("@s ")&&@ARGV&&print($/)) > Chris > On Thursday, August 14, 2003, at 07:52 AM, Bennett Todd wrote: > > I love this list. > > > > Jonathan Paton mentioned Math::RPN; I hadn't heard about that one. > > My favourite little handy rpn desktop calculator just got a whole > > lot simpler: > > > > #!/usr/bin/perl -w > > use Math::RPN; > > > > if (@ARGV) { > > print for rpn map { split } @ARGV; > > print "n"; > > exit 0; > > } > > > > $| = 1; > > my @stack; > > while (<>) { > > @stack = rpn(@stack, split); > > exit 0 if @stack and $stack[-1] =~ /^q/i; > > print "@stack "; > > } > > > > -Bennett > > [EMAIL PROTECTED](P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* > > <mime-attachment> > -- > Chris Dolan, Software Developer, Clotho Advanced Media Inc. > [EMAIL PROTECTED], 294-7900, 211 S Paterson, Madison WI 53703