Thank you, Yves.  I am only a hobby programmer and am always grateful for
style tips.  I made the changes you suggested but I am still having
problems.  I am attaching the trace output from both the correct and
incorrect parses.  I am also including the grammar below.  I thank you
again for any help you can offer.

#CODE IN QUESTION
my $parser = Parse::RecDescent->new($grammar);
my $parsetree = $parser->orderset($bodytxt);

if (! defined $parsetree)
        {die "Grammar parse failed!\n";}
else
{
        use YAML;
        print Dump($parsetree), "\n";

        #IF I UNCOMMENT THE BELOW CODE THE PARSE FAILS
        #
        #use Process;
        #my $process = Process->new();
        #$process->processTree($parsetree);
        #print $process->{results}, "\n";
}
#END CODE

#BEGIN GRAMMAR
<autotree>

orderset: order(s) { $return = $item[1] }

order:
        'auth' callsign password                |
        'confirm' confirmationCode              |
        'fire' weaponID targetSpec              |
        'game' gameID                           |
        'help' help_topic                       |
        'join' gameID fleetID                   |
        'register' callsign password email      |
        'thrust' thruster number                |
        'unregister'                            |
        'vacation' number

callsign: /[A-Za-z][A-Za-z0-9_']+/
confirmationCode: /[A-Za-z0-9]+/
email: /[EMAIL PROTECTED]/ #This is of course not the correct regex.  The parser is
expected to do complete verification.
fleetID: number
gameID: number
help_topic: /[A-Za-z0-9_]+/
hex: /\d+\.\d+/
number: /\-?[0-9]+/
password: /[A-Za-z0-9_-]+/
ship: callsign '.' /[A-Za-z0-9]+/
targetSpec: hex | ship
thruster: 'ne' | 'se' | 'sw' | 'nw' | 'spin' | 's' | 'n'
weaponID: number

eofile: /^\Z/
#END GRAMMAR

-- 
Aaron Dalton
[EMAIL PROTECTED]
http://aaron.finch.st
[EMAIL PROTECTED] hv]$ ./tree.pl
    Parse::RecDescent: Treating "<autotree>" as an autotree marker
    Parse::RecDescent: Treating "orderset:" as a rule declaration
    Parse::RecDescent: Treating "order(s)" as a one-or-more subrule match
    Parse::RecDescent: Treating "{ $return = $item[1] }" as an action
    Parse::RecDescent: Treating "order:" as a rule declaration
    Parse::RecDescent: Treating "auth" as a literal terminal
    Parse::RecDescent: Treating "callsign" as a subrule match
    Parse::RecDescent: Treating "password" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "confirm" as a literal terminal
    Parse::RecDescent: Treating "confirmationCode" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "fire" as a literal terminal
    Parse::RecDescent: Treating "weaponID" as a subrule match
    Parse::RecDescent: Treating "targetSpec" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "game" as a literal terminal
    Parse::RecDescent: Treating "gameID" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "help" as a literal terminal
    Parse::RecDescent: Treating "help_topic" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "join" as a literal terminal
    Parse::RecDescent: Treating "gameID" as a subrule match
    Parse::RecDescent: Treating "fleetID" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "register" as a literal terminal
    Parse::RecDescent: Treating "callsign" as a subrule match
    Parse::RecDescent: Treating "password" as a subrule match
    Parse::RecDescent: Treating "email" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "thrust" as a literal terminal
    Parse::RecDescent: Treating "thruster" as a subrule match
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "unregister" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "vacation" as a literal terminal
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "callsign:" as a rule declaration
    Parse::RecDescent: Treating "/[A-Za-z][A-Za-z0-9_']+/" as a /../ pattern
                       terminal
    Parse::RecDescent: Treating "confirmationCode:" as a rule declaration
    Parse::RecDescent: Treating "/[A-Za-z0-9]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "email:" as a rule declaration
    Parse::RecDescent: Treating "/[EMAIL PROTECTED]/" as a /../ pattern terminal
    Parse::RecDescent: Treating "#This is of course not the correct regex. The
                       parser is expected to do complete verification." as a
                       comment
    Parse::RecDescent: Treating "fleetID:" as a rule declaration
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "gameID:" as a rule declaration
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "help_topic:" as a rule declaration
    Parse::RecDescent: Treating "/[A-Za-z0-9_]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "hex:" as a rule declaration
    Parse::RecDescent: Treating "/\d+\.\d+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "number:" as a rule declaration
    Parse::RecDescent: Treating "/\-?[0-9]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "password:" as a rule declaration
    Parse::RecDescent: Treating "/[A-Za-z0-9_-]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "ship:" as a rule declaration
    Parse::RecDescent: Treating "callsign" as a subrule match
    Parse::RecDescent: Treating "." as a literal terminal
    Parse::RecDescent: Treating "/[A-Za-z0-9]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "targetSpec:" as a rule declaration
    Parse::RecDescent: Treating "hex" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "ship" as a subrule match
    Parse::RecDescent: Treating "thruster:" as a rule declaration
    Parse::RecDescent: Treating "ne" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "se" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "sw" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "nw" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "spin" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "s" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "n" as a literal terminal
    Parse::RecDescent: Treating "weaponID:" as a rule declaration
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "eofile:" as a rule declaration
    Parse::RecDescent: Treating "/^\Z/" as a /../ pattern terminal
printing code (109351) to RD_TRACE
 1| orderset |Trying rule: [orderset]               |
 1| orderset |                                      |"thrust spin -1\nhelp
  |          |                                      |thrust\n"
 1| orderset |Trying production: [order]            |
 1| orderset |Trying repeated subrule: [order]      |
 2|  order   |Trying rule: [order]                  |
 2|  order   |Trying production: ['auth' callsign   |
  |          |password]                             |
 2|  order   |Trying terminal: ['auth']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['confirm'         |
  |          |confirmationCode]                     |
 2|  order   |Trying terminal: ['confirm']          |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['fire' weaponID   |
  |          |targetSpec]                           |
 2|  order   |Trying terminal: ['fire']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['game' gameID]    |
 2|  order   |Trying terminal: ['game']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['help' help_topic]|
 2|  order   |Trying terminal: ['help']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['join' gameID     |
  |          |fleetID]                              |
 2|  order   |Trying terminal: ['join']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['register'        |
  |          |callsign password email]              |
 2|  order   |Trying terminal: ['register']         |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['thrust' thruster |
  |          |number]                               |
 2|  order   |Trying terminal: ['thrust']           |
 2|  order   |>>Matched terminal<< (return value:   |
  |          |[thrust])                             |
 2|  order   |                                      |" spin -1\nhelp thrust\n"
 2|  order   |Trying subrule: [thruster]            |
 3| thruster |Trying rule: [thruster]               |
 3| thruster |Trying production: ['ne']             |
 3| thruster |Trying terminal: ['ne']               |
 3| thruster |<<Didn't match terminal>>             |
 3| thruster |                                      |"spin -1\nhelp thrust\n"
 3| thruster |Trying production: ['se']             |
 3| thruster |                                      |" spin -1\nhelp thrust\n"
 3| thruster |Trying terminal: ['se']               |
 3| thruster |<<Didn't match terminal>>             |
 3| thruster |                                      |"spin -1\nhelp thrust\n"
 3| thruster |Trying production: ['sw']             |
 3| thruster |                                      |" spin -1\nhelp thrust\n"
 3| thruster |Trying terminal: ['sw']               |
 3| thruster |<<Didn't match terminal>>             |
 3| thruster |                                      |"spin -1\nhelp thrust\n"
 3| thruster |Trying production: ['nw']             |
 3| thruster |                                      |" spin -1\nhelp thrust\n"
 3| thruster |Trying terminal: ['nw']               |
 3| thruster |<<Didn't match terminal>>             |
 3| thruster |                                      |"spin -1\nhelp thrust\n"
 3| thruster |Trying production: ['spin']           |
 3| thruster |                                      |" spin -1\nhelp thrust\n"
 3| thruster |Trying terminal: ['spin']             |
 3| thruster |>>Matched terminal<< (return value:   |
  |          |[spin])                               |
 3| thruster |                                      |" -1\nhelp thrust\n"
 3| thruster |Trying action                         |
 3| thruster |>>Matched action<< (return value:     |
  |          |[thruster=HASH(0x841412c)])           |
 3| thruster |>>Matched production: ['spin']<<      |
 3| thruster |>>Matched rule<< (return value:       |
  |          |[thruster=HASH(0x841412c)])           |
 3| thruster |(consumed: [ spin])                   |
 2|  order   |>>Matched subrule: [thruster]<<       |
  |          |(return value:                        |
  |          |[thruster=HASH(0x841412c)]            |
 2|  order   |Trying subrule: [number]              |
 3|  number  |Trying rule: [number]                 |
 3|  number  |Trying production: [/\-?[0-9]+/]      |
 3|  number  |Trying terminal: [/\-?[0-9]+/]        |
 3|  number  |>>Matched terminal<< (return value: [-|
  |          |1])                                   |
 3|  number  |                                      |"\nhelp thrust\n"
 3|  number  |Trying action                         |
 3|  number  |>>Matched action<< (return value:     |
  |          |[number=HASH(0x815be64)])             |
 3|  number  |>>Matched production: [/\-?[0-9]+/]<< |
 3|  number  |>>Matched rule<< (return value:       |
  |          |[number=HASH(0x815be64)])             |
 3|  number  |(consumed: [ -1])                     |
 2|  order   |>>Matched subrule: [number]<< (return |
  |          |value: [number=HASH(0x815be64)]       |
 2|  order   |Trying action                         |
 2|  order   |>>Matched action<< (return value:     |
  |          |[order=HASH(0x8379f68)])              |
 2|  order   |>>Matched production: ['thrust'       |
  |          |thruster number]<<                    |
 2|  order   |>>Matched rule<< (return value:       |
  |          |[order=HASH(0x8379f68)])              |
 2|  order   |(consumed: [thrust spin -1])          |
 2|  order   |Trying rule: [order]                  |
 2|  order   |Trying production: ['auth' callsign   |
  |          |password]                             |
 2|  order   |Trying terminal: ['auth']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |                                      |"help thrust\n"
 2|  order   |Trying production: ['confirm'         |
  |          |confirmationCode]                     |
 2|  order   |                                      |"\nhelp thrust\n"
 2|  order   |Trying terminal: ['confirm']          |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |                                      |"help thrust\n"
 2|  order   |Trying production: ['fire' weaponID   |
  |          |targetSpec]                           |
 2|  order   |                                      |"\nhelp thrust\n"
 2|  order   |Trying terminal: ['fire']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |                                      |"help thrust\n"
 2|  order   |Trying production: ['game' gameID]    |
 2|  order   |                                      |"\nhelp thrust\n"
 2|  order   |Trying terminal: ['game']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |                                      |"help thrust\n"
 2|  order   |Trying production: ['help' help_topic]|
 2|  order   |                                      |"\nhelp thrust\n"
 2|  order   |Trying terminal: ['help']             |
 2|  order   |>>Matched terminal<< (return value:   |
  |          |[help])                               |
 2|  order   |                                      |" thrust\n"
 2|  order   |Trying subrule: [help_topic]          |
 3|help_topic|Trying rule: [help_topic]             |
 3|help_topic|Trying production: [/[A-Za-z0-9_]+/]  |
 3|help_topic|Trying terminal: [/[A-Za-z0-9_]+/]    |
 3|help_topic|>>Matched terminal<< (return value:   |
  |          |[thrust])                             |
 3|help_topic|                                      |"\n"
 3|help_topic|Trying action                         |
 3|help_topic|>>Matched action<< (return value:     |
  |          |[help_topic=HASH(0x815bf24)])         |
 3|help_topic|>>Matched production: [/[A-Za-z0-     |
  |          |9_]+/]<<                              |
 3|help_topic|>>Matched rule<< (return value:       |
  |          |[help_topic=HASH(0x815bf24)])         |
 3|help_topic|(consumed: [ thrust])                 |
 2|  order   |>>Matched subrule: [help_topic]<<     |
  |          |(return value:                        |
  |          |[help_topic=HASH(0x815bf24)]          |
 2|  order   |Trying action                         |
 2|  order   |>>Matched action<< (return value:     |
  |          |[order=HASH(0x8413fa0)])              |
 2|  order   |>>Matched production: ['help'         |
  |          |help_topic]<<                         |
 2|  order   |>>Matched rule<< (return value:       |
  |          |[order=HASH(0x8413fa0)])              |
 2|  order   |(consumed: [ help thrust])            |
 2|  order   |Trying rule: [order]                  |
 2|  order   |Trying production: ['auth' callsign   |
  |          |password]                             |
 2|  order   |Trying terminal: ['auth']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['confirm'         |
  |          |confirmationCode]                     |
 2|  order   |Trying terminal: ['confirm']          |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['fire' weaponID   |
  |          |targetSpec]                           |
 2|  order   |Trying terminal: ['fire']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['game' gameID]    |
 2|  order   |Trying terminal: ['game']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['help' help_topic]|
 2|  order   |Trying terminal: ['help']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['join' gameID     |
  |          |fleetID]                              |
 2|  order   |Trying terminal: ['join']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['register'        |
  |          |callsign password email]              |
 2|  order   |Trying terminal: ['register']         |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['thrust' thruster |
  |          |number]                               |
 2|  order   |Trying terminal: ['thrust']           |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['unregister']     |
 2|  order   |Trying terminal: ['unregister']       |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['vacation' number]|
 2|  order   |Trying terminal: ['vacation']         |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |<<Didn't match rule>>                 |
 1| orderset |>>Matched repeated subrule: [order]<< |
  |          |(2 times)                             |
 1| orderset |Trying action                         |
 1| orderset |>>Matched action<< (return value:     |
  |          |[ARRAY(0x84140e4)])                   |
 1| orderset |>>Matched production: [order]<<       |
 1| orderset |>>Matched rule<< (return value:       |
  |          |[ARRAY(0x84140e4)])                   |
 1| orderset |(consumed: [thrust spin -1 help       |
  |          |thrust])                              |

--- #YAML:1.0
- !perl/order
  __RULE__: order
  __STRING1__: thrust
  number: !perl/number
    __VALUE__: -1
  thruster: !perl/thruster
    __VALUE__: spin
- !perl/order
  __RULE__: order
  __STRING1__: help
  help_topic: !perl/help_topic
    __VALUE__: thrust
[EMAIL PROTECTED] hv]$ ./tree.pl
    Parse::RecDescent: Treating "<autotree>" as an autotree marker
    Parse::RecDescent: Treating "orderset:" as a rule declaration
    Parse::RecDescent: Treating "order(s)" as a one-or-more subrule match
    Parse::RecDescent: Treating "{ $return = $item[1] }" as an action
    Parse::RecDescent: Treating "order:" as a rule declaration
    Parse::RecDescent: Treating "auth" as a literal terminal
    Parse::RecDescent: Treating "callsign" as a subrule match
    Parse::RecDescent: Treating "password" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "confirm" as a literal terminal
    Parse::RecDescent: Treating "confirmationCode" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "fire" as a literal terminal
    Parse::RecDescent: Treating "weaponID" as a subrule match
    Parse::RecDescent: Treating "targetSpec" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "game" as a literal terminal
    Parse::RecDescent: Treating "gameID" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "help" as a literal terminal
    Parse::RecDescent: Treating "help_topic" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "join" as a literal terminal
    Parse::RecDescent: Treating "gameID" as a subrule match
    Parse::RecDescent: Treating "fleetID" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "register" as a literal terminal
    Parse::RecDescent: Treating "callsign" as a subrule match
    Parse::RecDescent: Treating "password" as a subrule match
    Parse::RecDescent: Treating "email" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "thrust" as a literal terminal
    Parse::RecDescent: Treating "thruster" as a subrule match
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "unregister" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "vacation" as a literal terminal
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "callsign:" as a rule declaration
    Parse::RecDescent: Treating "/[A-Za-z][A-Za-z0-9_']+/" as a /../ pattern
                       terminal
    Parse::RecDescent: Treating "confirmationCode:" as a rule declaration
    Parse::RecDescent: Treating "/[A-Za-z0-9]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "email:" as a rule declaration
    Parse::RecDescent: Treating "/[EMAIL PROTECTED]/" as a /../ pattern terminal
    Parse::RecDescent: Treating "#This is of course not the correct regex. The
                       parser is expected to do complete verification." as a
                       comment
    Parse::RecDescent: Treating "fleetID:" as a rule declaration
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "gameID:" as a rule declaration
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "help_topic:" as a rule declaration
    Parse::RecDescent: Treating "/[A-Za-z0-9_]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "hex:" as a rule declaration
    Parse::RecDescent: Treating "/\d+\.\d+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "number:" as a rule declaration
    Parse::RecDescent: Treating "/\-?[0-9]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "password:" as a rule declaration
    Parse::RecDescent: Treating "/[A-Za-z0-9_-]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "ship:" as a rule declaration
    Parse::RecDescent: Treating "callsign" as a subrule match
    Parse::RecDescent: Treating "." as a literal terminal
    Parse::RecDescent: Treating "/[A-Za-z0-9]+/" as a /../ pattern terminal
    Parse::RecDescent: Treating "targetSpec:" as a rule declaration
    Parse::RecDescent: Treating "hex" as a subrule match
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "ship" as a subrule match
    Parse::RecDescent: Treating "thruster:" as a rule declaration
    Parse::RecDescent: Treating "ne" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "se" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "sw" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "nw" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "spin" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "s" as a literal terminal
    Parse::RecDescent: Treating "|" as a new production
    Parse::RecDescent: Treating "n" as a literal terminal
    Parse::RecDescent: Treating "weaponID:" as a rule declaration
    Parse::RecDescent: Treating "number" as a subrule match
    Parse::RecDescent: Treating "eofile:" as a rule declaration
    Parse::RecDescent: Treating "/^\Z/" as a /../ pattern terminal
printing code (109368) to RD_TRACE
 1| orderset |Trying rule: [orderset]               |
 1| orderset |                                      |"thrust spin -1\nhelp
  |          |                                      |thrust\n"
 1| orderset |Trying production: [order]            |
 1| orderset |Trying repeated subrule: [order]      |
 2|  order   |Trying rule: [order]                  |
 2|  order   |Trying production: ['auth' callsign   |
  |          |password]                             |
 2|  order   |Trying terminal: ['auth']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['confirm'         |
  |          |confirmationCode]                     |
 2|  order   |Trying terminal: ['confirm']          |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['fire' weaponID   |
  |          |targetSpec]                           |
 2|  order   |Trying terminal: ['fire']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['game' gameID]    |
 2|  order   |Trying terminal: ['game']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['help' help_topic]|
 2|  order   |Trying terminal: ['help']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['join' gameID     |
  |          |fleetID]                              |
 2|  order   |Trying terminal: ['join']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['register'        |
  |          |callsign password email]              |
 2|  order   |Trying terminal: ['register']         |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['thrust' thruster |
  |          |number]                               |
 2|  order   |Trying terminal: ['thrust']           |
 2|  order   |>>Matched terminal<< (return value:   |
  |          |[thrust])                             |
 2|  order   |                                      |" spin -1\nhelp thrust\n"
 2|  order   |Trying subrule: [thruster]            |
 3| thruster |Trying rule: [thruster]               |
 3| thruster |Trying production: ['ne']             |
 3| thruster |Trying terminal: ['ne']               |
 3| thruster |<<Didn't match terminal>>             |
 3| thruster |                                      |"spin -1\nhelp thrust\n"
 3| thruster |Trying production: ['se']             |
 3| thruster |                                      |" spin -1\nhelp thrust\n"
 3| thruster |Trying terminal: ['se']               |
 3| thruster |<<Didn't match terminal>>             |
 3| thruster |                                      |"spin -1\nhelp thrust\n"
 3| thruster |Trying production: ['sw']             |
 3| thruster |                                      |" spin -1\nhelp thrust\n"
 3| thruster |Trying terminal: ['sw']               |
 3| thruster |<<Didn't match terminal>>             |
 3| thruster |                                      |"spin -1\nhelp thrust\n"
 3| thruster |Trying production: ['nw']             |
 3| thruster |                                      |" spin -1\nhelp thrust\n"
 3| thruster |Trying terminal: ['nw']               |
 3| thruster |<<Didn't match terminal>>             |
 3| thruster |                                      |"spin -1\nhelp thrust\n"
 3| thruster |Trying production: ['spin']           |
 3| thruster |                                      |" spin -1\nhelp thrust\n"
 3| thruster |Trying terminal: ['spin']             |
 3| thruster |>>Matched terminal<< (return value:   |
  |          |[spin])                               |
 3| thruster |                                      |" -1\nhelp thrust\n"
 3| thruster |Trying action                         |
 3| thruster |>>Matched action<< (return value:     |
  |          |[thruster=HASH(0x84b1390)])           |
 3| thruster |>>Matched production: ['spin']<<      |
 3| thruster |>>Matched rule<< (return value:       |
  |          |[thruster=HASH(0x84b1390)])           |
 3| thruster |(consumed: [ spin])                   |
 2|  order   |>>Matched subrule: [thruster]<<       |
  |          |(return value:                        |
  |          |[thruster=HASH(0x84b1390)]            |
 2|  order   |Trying subrule: [number]              |
 3|  number  |Trying rule: [number]                 |
 3|  number  |Trying production: [/\-?[0-9]+/]      |
 3|  number  |Trying terminal: [/\-?[0-9]+/]        |
 3|  number  |>>Matched terminal<< (return value: [-|
  |          |1])                                   |
 3|  number  |                                      |"\nhelp thrust\n"
 3|  number  |Trying action                         |
 3|  number  |>>Matched action<< (return value:     |
  |          |[number=HASH(0x84b1444)])             |
 3|  number  |>>Matched production: [/\-?[0-9]+/]<< |
 3|  number  |>>Matched rule<< (return value:       |
  |          |[number=HASH(0x84b1444)])             |
 3|  number  |(consumed: [ -1])                     |
 2|  order   |>>Matched subrule: [number]<< (return |
  |          |value: [number=HASH(0x84b1444)]       |
 2|  order   |Trying action                         |
 2|  order   |>>Matched action<< (return value:     |
  |          |[order=HASH(0x85404d4)])              |
 2|  order   |>>Matched production: ['thrust'       |
  |          |thruster number]<<                    |
 2|  order   |>>Matched rule<< (return value:       |
  |          |[order=HASH(0x85404d4)])              |
 2|  order   |(consumed: [thrust spin -1])          |
 2|  order   |Trying rule: [order]                  |
 2|  order   |Trying production: ['auth' callsign   |
  |          |password]                             |
 2|  order   |Trying terminal: ['auth']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['confirm'         |
  |          |confirmationCode]                     |
 2|  order   |Trying terminal: ['confirm']          |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['fire' weaponID   |
  |          |targetSpec]                           |
 2|  order   |Trying terminal: ['fire']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['game' gameID]    |
 2|  order   |Trying terminal: ['game']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['help' help_topic]|
 2|  order   |Trying terminal: ['help']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['join' gameID     |
  |          |fleetID]                              |
 2|  order   |Trying terminal: ['join']             |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['register'        |
  |          |callsign password email]              |
 2|  order   |Trying terminal: ['register']         |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['thrust' thruster |
  |          |number]                               |
 2|  order   |Trying terminal: ['thrust']           |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['unregister']     |
 2|  order   |Trying terminal: ['unregister']       |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |Trying production: ['vacation' number]|
 2|  order   |Trying terminal: ['vacation']         |
 2|  order   |<<Didn't match terminal>>             |
 2|  order   |<<Didn't match rule>>                 |
 1| orderset |>>Matched repeated subrule: [order]<< |
  |          |(1 times)                             |
 1| orderset |Trying action                         |
 1| orderset |>>Matched action<< (return value:     |
  |          |[ARRAY(0x84b12d0)])                   |
 1| orderset |>>Matched production: [order]<<       |
 1| orderset |>>Matched rule<< (return value:       |
  |          |[ARRAY(0x84b12d0)])                   |
 1| orderset |(consumed: [thrust spin -1])          |

--- #YAML:1.0
- !perl/order
  __RULE__: order
  __STRING1__: thrust
  number: !perl/number
    __VALUE__: -1
  thruster: !perl/thruster
    __VALUE__: spin

Reply via email to