<?xml version="1.0" encoding="windows-1252"?>
<node id="170931" title="Re: Re: @_ still mystifies me" created="2002-06-01 13:49:21" updated="2005-07-19 14:07:41">
<type id="11">
note</type>
<author id="49266">
danger</author>
<data>
<field name="doctext">
&lt;p&gt;
I'm glad [Ovid] (++) mentioned the Deparse module, but be aware that
different options can affect the output:
&lt;/p&gt;

&lt;code&gt;
# no options:

$ perl -MO=Deparse -e 'my @lexlist = @_ or sort keys %lexicon'
sort keys %lexicon unless my(@lexlist) = @_;

#---
# using -x7 (level 7 expands code into equivelant logical constructs
# using &amp;&amp;, ?:, and do{}) -- (giving us back nearly the original)

$ perl -MO=Deparse,-x7 -e 'my @lexlist = @_ or sort keys %lexicon'
my(@lexlist) = @_ or sort keys %lexicon;


#---
# however, using -p (to fully parenthesize) can often help expose
# such problems as well:

$ perl -MO=Deparse,-p -e 'my @lexlist = @_ or sort keys %lexicon'
((my(@lexlist) = @_) or sort(keys(%lexicon)));

&lt;/code&gt;

&lt;p&gt;
It is sometimes useful to explore the output of Deparse with various
options applied.
&lt;/p&gt;
</field>
<field name="root_node">
170918</field>
<field name="parent_node">
170930</field>
</data>
</node>
