Grammar
Think of this like a DOS or bash prompt. The first word is a command. Every word after that is an argument to that command. Every command has a different number of required and optional parameters. White space delimits arguments. If you need a space in an argument, put double quotes around the whole thing. If you need double quotes and spaces in an argument, escape the quote with a backslash (\) first. If you need to do a backslash, escape that with a backslash.
It's pretty straight-forward. If you're confused, ask.
Command Reference
Arguments in <angle brackets> are required. Arguments in [brackets] are optional. If there is more than one optional argument, you can't skip one and provide one after it. Once you skip one, you have to skip the rest.
\n";
foreach my $cmdname (sort keys %LJ::Con::cmd)
{
my $cmd = $LJ::Con::cmd{$cmdname};
next if ($cmd->{'hidden'});
my $anchor = "$cmdname";
$ret .= "$cmdname \n";
}
$ret .= "
"; $ret .= "$cmdname $args |
$cmd->{'des'}"; if ($cmd->{'args'}) { my @des = @{$cmd->{'args'}}; $ret .= "