Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re^8: NO PERL 6

by Aristotle (Chancellor)
on Dec 10, 2002 at 15:27 UTC ( #218805=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Re: Re: Re: Re: Re: NO PERL 6
in thread NO PERL 6

One example that comes to mind: "nosehair" << 10;
Will that be a left shift or a concatenation of a string with a here doc?

Makeshifts last the longest.

Replies are listed 'Best First'.
Re: Re^8: NO PERL 6
by BrowserUk (Pope) on Dec 10, 2002 at 16:21 UTC

    Catenation with a here-doc obviously:^) (since left-shifting a string isn't legal?);

    "10" << 10; this is the stuff 10

    Would be ambiguous, were it not that then you have a constant in a void context, which is rarely ever useful.

    Once you remove the void context as in

    my $var = "10" <<10; this is the stuff 10

    it would be ambiguous, but I think that being able to use a number as a here-doc delimiter is as bad as the long deprecated (and now illegal) practice of using a space for that purpose. I always assumed (without ever having had cause to actually check until now) that here-doc delimiters followed the same naming rules as labels. I now see that is untrue, but I can't think of a good reason why it shouldn't be made so. That would remove that ambiguity.

    At the end of the day, personally, I'll probably be quite happy to accept '_' or '~' (or any other syntax the powers that be decide upon) for catenation, but 'simple' abuttment seems almost logical (to me), and I was exploring the idea to see what effect it might have on the rest of the current perl syntax. I don't yet see anything that would be a problem that I wouldn't be happy to change to accomodate it, but I don't use most of the more esoteric constructs that it might conflict with, and have relatively little history with the language which means that I am open to possible changes that those with ingrained habits would rail against.

    I have no expectation that any of my meanderings are going to influence anything one way or the other, but when I see something that raises a queston in my mind that I can't resolve by a little playing around or research, I am of the habit of asking the question of those with better experience than I. That's my prefered way to assimilate new knowledge. It seems a shame that in some quarters at least, this practice is seen as bad. Not you I might add.

    Okay you lot, get your wings on the left, halos on the right. It's one size fits all, and "No!", you can't have a different color.
    Pick up your cloud down the end and "Yes" if you get allocated a grey one they are a bit damp under foot, but someone has to get them.
    Get used to the wings fast cos its an 8 hour day...unless the Govenor calls for a cyclone or hurricane, in which case 16 hour shifts are mandatory.
    Just be grateful that you arrived just as the tornado season finished. Them buggers are real work.

      Let's undo a few assumptions.
      sub BITS () { 16 } my $x = 100 <<BITS;
      Ball's in your court again. :-) The obvious problem here is certainly easy to fix by stricter syntax, but in thinking about the fix I've already found a few more ambiguities..

      Makeshifts last the longest.

        Syntax error. Here-docs must now be quoted, << is no-longer left shift, and there is no closing >> to make that a qw[] equivalent :)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://218805]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (6)
As of 2018-02-22 21:45 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (299 votes). Check out past polls.