On Saturday 06 October 2001 03:47 pm, Erik Lechak wrote:
>     Thank you for the info.  I am more engineer than computer scientist,
> so please excuse the ignorance behind these questions.

No problem.  

>
> > Except that the operator truly is simply an underscore.  But it's also a
> > valid identifier character, so where it may be confused with that, you
> > are simply required to make it less ambiguous to the parser.
> >
> > $a _= $b _ $c;  # $a _= $b _$c;
> > ${a}_=${b}_$c;
> > %h{$s}_="Hello, "_"world!\n";
> >
> > As Larry said, no different that the other operators that also consist
> > of valid character identifiers.
>
> I understand that the operator is just the underscore.  However, in the
> third edition of the camel book on page 49, the second paragraph, it
> states that "An identifier is a token that starts with a letter or
> underscore and contains only letters, digits, and underscores."   Since
> there are no singel letter operators, no single digit operators, but now
> we see the advent of the underscore operator, it follows that the
> underscore will be the only operator that could be confused as part of the
> variable name.

'x' is a single letter operator.

>
> 1) My question is what other operator could be confused with an
> identifier?

Not including the list operators or control flow keywords:
eq, ne, gt, lt, ge, le, cmp, x, and, or, not, xor

$a = $bx4; # $a = "$b"x4;  $a = $b x 4;
if ($one foo || $o nefoo) # if ("$o"ne foo); if ($o ne foo) ; if (${o}ne&foo)
etc...

>
> 2) Where did Larry say "no different that the other operators that also
> consist of valid character identifiers." ?

Hmm.  It looks like he didn't.  That must have been a point someone had made 
in a subsequent posting.  I apologize.

>
> > IIRC, '^' was considered earlier.  (And it's shifted, BTW.)
>
> 3) What do you mean by shifted?

A caret on a standard US qwerty keyboard is "shift-6'.  (In reponse to your 
complaint (a), about the underscore requiring the shift key.)

-- 
Bryan C. Warnock
[EMAIL PROTECTED]

Reply via email to