Brent --

I think I missed your point. I'll refer to your two code chunks as
(a) and (b). Maybe you are getting at a finer point, though...


What you've said in (a) is pretty much what I hinted about Inline::Perl6
in my message. If you pass it to a Perl 6 interpreter, then it will
probably use that hint to shift into Perl 5 mode (which, fortunately,
is a perfectly respectable thing for a Perl 6 interpreter to do) kind
of as if what you had sent it was really:

  #!/usr/bin/perl6
  use syntax 'perl5';
  ...

Any Perl 5 code above your 'use 5' statement that isn't also legal
Perl 6 code, though, would cause the compiler to complain.


I don't see how what you've said in (b) is different from what I've
said, outside the "use 6" which I think shouldn't exist, since
it means nothing to Perl 5 (there is no Perl 5, version 6) and
means nothing to Perl 6 (which has as its lowest version number...
6). So, the code you wrote is Perl 6 with a redundant "use 6"
in it, otherwise in the same vein as what I wrote. If you pass it
to a Perl 5 interpreter, it will choke. If you pass it to a Perl 6
interpreter, life is peachy keen. If you pass it to a Python
interpreter, you get what you deserve :) You have used "use syntax"
which falls under the category of "# or whatever" in my message.


Regards,

-- Gregor

On Wed, 2004-04-14 at 18:51, Brent 'Dax' Royal-Gordon wrote:
> Gregor N. Purdy wrote:
> 
> >   #!/usr/bin/perl6
> > 
> >   ... # Perl 6 stuff here
> > 
> >   use 5; # or, whatever
> > 
> >   # Perl 5 stuff here
> > 
> >   no 5; # or, whatever
> > 
> >   # More Perl 6 stuff here
> > 
> >   use python; # you get the idea
> 
> Why conflate the two at all?  Perl 5 has two separate syntaxes for 
> forcing a version and embedding code in a different language:
> 
>      use 5;                    # forces Perl < 6
>      perl_five_code();
>      use Inline::Perl6 q{      # Ah, the wonders of ponie...
>          perl_six_code();
>      };
>      use Inline::Python q{
>          python_code()
>      };
> 
> So why not do the same (albeit in a much slicker way) for Perl 6?
> 
>      use 6;                    # forces Perl 6+
>      perl_six_code();
> 
>      {
>          use syntax 'perl5';       # switches to Perl 5 syntax
>          perl_five_code();
>      }
> 
>      {
>          use syntax 'python';
>          python_code()
>      }    #With the indentation, I think this closes both the Perl and
>           # the Python block...
-- 
Gregor Purdy                            [EMAIL PROTECTED]
Focus Research, Inc.               http://www.focusresearch.com/

Reply via email to