SPUG: interesting while() behavior and hosting recs
Tim Maher
tim at consultix-inc.com
Fri Oct 1 15:45:39 CDT 2004
On Fri, Oct 01, 2004 at 01:39:01PM -0700, DeRykus, Charles E wrote:
>
> >> As indicated on a man-page somewhere,
> >> those ??? marks indicate that the actual values provided at
> >> those locations are irrelevant, because "c" will be the result of this application of the comma operator.
>
> Gawd, you're good if you found that somewhere in the man pages somewhere.
>
It's at the end of the following snippet from the Deparse man page;
Enjoy! 8-}
i686-linux-threUseruContribi686-linux-thread-multi::B::Deparse(3)
NAME
B::Deparse - Perl compiler backend to produce perl code
SYNOPSIS
perl -MO=Deparse[,-d][,-fFILE][,-p][,-q][,-l]
[,-sLETTERS][,-xLEVEL] prog.pl
DESCRIPTION
. . .
-p Print extra parentheses. Without this option,
B::Deparse includes parentheses in its output only
when they are needed, based on the structure of your
program. With -p, it uses parentheses (almost) whenÂ
ever they would be legal. This can be useful if you
are used to LISP, or if you want to see how perl
parses your input. If you say
if ($var & 0x7f == 65) {print "Gimme an A!"}
print ($which ? $a : $b), "\n";
$name = $ENV{USER} or "Bob";
"B::Deparse,-p" will print
if (($var & 0)) {
print('Gimme an A!')
};
(print(($which ? $a : $b)), '???');
(($name = $ENV{'USER'}) or '???')
which probably isn't what you intended (the '???' is a
sign that perl optimized away a constant value).
More information about the spug-list
mailing list