NetWallah has asked for the wisdom of the Perl Monks concerning the following question:

I'm just starting to get into Dot Net technologies - and for you MS-phobics - this IS good stuff - much more real innovation than the usual MS Hype .. Anyway - I'm looking to maintain my love for Perl in this new space, but cant afford the $300 sought by ActiveState for their VisualPerl (Part of the Dev kit)- I don't need the IDE - just a dot net perl compiler.

Anyone know where I can get a freebee dotnet perl compiler ?

Replies are listed 'Best First'.
Re: Free .net Perl compiler?
by Elian (Parson) on Aug 19, 2002 at 17:13 UTC
    Alas, not that much innovation. .NET the bytecode engine is the JVM done over again, with a few stupid things removed and a few more added. The language interoperability's stuff we've been doing since the '70s, and the CLR is Yet Another Library of stuff.

    Not, mind, that many other things in the computer industry can claim much in the way of innovation. But, then, neither can MS here.

      So which is it going to be easier to do...
      1. A .NET interpreter written in Parrot (Perl6?),
      2. A Parrot interpreter written in a .NET language (C#?),
      3. Some sideways binding to permit a .NET interpreter and a Parrot interpreter to inter-call on the same machine,
      4. or get a date for me for Friday night?

      -- Randal L. Schwartz, Perl hacker

        Oh, #1 definitely. That's the simplest of the lot.

        You forgot #5: Compile Parrot with the .NET C compiler. Which is probably the easiest way to get parrot running on a .NET system. (Though we'll emit .NET bytecode at some point)

        Hmm or get a date for me for Friday night? ,
        I Try to run this and it seems to loop over the print "Ouchie\n"; line nonstop. =)
        open (PHONEBOOK, "/data/phone"); open (PICKUPLINES, "/data/lines"); @lines = <PICKUPLINES>; while (<PHONEBOOK>) { my($firstname, $lastname, $number) = split /:/; print "Whoot!!!\n" if AskOnDate($firstname, $lastname, $number); } close PHONEBOOK; close PICKUPLINES; sub AskOnDate { my($first, $last, $num) = @_; foreach my $try (@lines) { print "Hey there $first, $try"; if (Flirt::Getresponce eq "Slap") { print "Ouchie!\n"; } else { return "$first $last"; } } }


        -Waswas
Re: Free .net Perl compiler?
by Elian (Parson) on Aug 19, 2002 at 17:16 UTC
    Oh, and one more important thing--there is no .NET perl compiler. They've got a foreign-code plugin thingie. When you run perl code under .NET, you're using a real perl interpreter.
      There's a pretty good writeup about PerlNET over on DevX.

      I found it thanks to a blurb at use Perl;.
      --
      Mike

Re: Free .net Perl compiler?
by RMGir (Prior) on Aug 19, 2002 at 17:10 UTC
    Looking at Visual Perl, it doesn't look like it generates .NET code; it's "just" a perl editor that plugs into Visual Studio .NET. It does look like a heck of a NICE editor, though.

    The part that does seem to connect up to .NET somehow seems to be the Perl Dev Kit, which may or may not be included with Visual Perl. That part looks cheaper, but $195 is probably more than you want to spend...

    I don't think you're likely to find a free alternative though. Activestate is home to a lot (I think) of the Win32 perl developers, and I think this was a pretty big project for them. It probably wouldn't be very easy to do for someone as a "side job"...
    --
    Mike

      I have, I guess, only a vague understanding of what truly makes something ".NET" or not. I would love if someone would give me an hypothetical explanation of what a ".NET" version of perl code would entail.

      I've been under the impression that a big part of .NET's essence is the concept of writing functions as Web Services. Such as, exposing the functionality of your program through a Soap API so any remote platform in any language can send a data object represented as XML and get back the results also as XML. If you haven't checked out Perl's SOAP modules, it sounds like they might interest you, by the way.

      But how far away is using a SOAP architecture in web-based perl software to expose its API from it being ".NET". It's definetely becoming a buzzword, and seemingly very cool for something to be ".NET" compliant. But what does it mean? I would love a good explanation to this in regards to perl programming...
        For something to be really .NET, it would have to have a compiler that generates the .NET intermediate language compiled code, which could then be executed by the common language runtime environment.

        SOAP and such are just a small part of what the framework provides; if all you want is SOAP interoperability, there is a perl module for that. Get the newest version, though, because it used to open up a pretty scary security hole...
        --
        Mike

        Edit: Looks like you're not the only asking "What the heck is .NET?"

      For a decent and free IDE, you should check out Open Perl IDE.

      "Open Perl IDE is an integrated development environment for writing and debugging Perl scripts with any standard perl distribution under Windows 95/98/NT/2000."

Re: Free .net Perl compiler?
by snafu (Chaplain) on Aug 19, 2002 at 19:07 UTC
    Hmm, since I don't develop in windows at all I have been kind of behind the times it seems. The last I heard, Microsoft placed a blurb in their .NET EULA stating that the integration of such things as GPL'ed software such as Perl, PHP (which were never actually named by name) with .NET would be a violation of the EULA? What is the latest on this because that caused quite a stir back then?

    _ _ _ _ _ _ _ _ _ _
    - Jim
    Insert clever comment here...