Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: Re^8: NO PERL 6

by BrowserUk (Pope)
on Dec 10, 2002 at 16:21 UTC ( #218816=note: print w/replies, xml ) Need Help??

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

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.

Replies are listed 'Best First'.
Re^10: NO PERL 6
by Aristotle (Chancellor) on Dec 10, 2002 at 16:57 UTC
    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 :)
        #!/usr/bin/perl print <<X; sorry, nope. they need not be quoted X __END__ sorry, nope. they need not be quoted

        Makeshifts last the longest.

Log In?

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

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

    Results (310 votes). Check out past polls.