Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

ActivePerl on WinXP vs. LinuxRH9

by mosh (Scribe)
on Nov 10, 2004 at 16:39 UTC ( [id://406712]=perlquestion: print w/replies, xml ) Need Help??

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

Dear monks !

I would like to hear from those of you that are familiar with writing perl code on WinXP(or 2K)-ActivePerl and on LinuxRH9.

I have to decide about the platform that we're going to develop our system that has very strong relation to networking, L2,L3,L4,L7.
I would like to use your experience with the Win-ActivePerl tool and make a comparison with Linux, on the following issues:

1) What are the main differences between Win devel with ActivePerl and Linux Devel ?
2) Is there any difference when going to install modules, or modules that work on Linux but don't work on Win?
3) Is there any limitation when dealing with networking modules?

I appreciate if you can tell me something else that I didn't think about.

Note that I know perl on Linux very well and know almost nothing on ActivePerl.


Replies are listed 'Best First'.
Re: ActivePerl on WinXP vs. LinuxRH9
by PreferredUserName (Pilgrim) on Nov 10, 2004 at 16:52 UTC
    Perl is definitely more "at home" in a Unixy environment like Linux (real fork(), shell integration, CPAN, etc.).

    That said, if you *have* to do Windows-specific stuff (control COM objects, for example), it will be easier to just do it on Windows than to have a mixed environment.

    I would decide like this: if there are Windows-only components that I must integrate with, use Windows. Otherwise, use Linux.


      What did you mean by saying:
      "Perl is definitely more "at home" in a Unixy environment like Linux (real fork(), shell integration, CPAN, etc.). "
      Is there a problem with CPAN modules ? Using them ? Installing them ?

        Well you grab the modules from the PPM repository which is not CPAN. You also have a lot bigger selection of modules on the *nix side. The only reason I would ever use ActiveState perl is if I HAD to do something on a windows box. Otherwise I would use the version that came with Red Hat or download a fresh build.
Re: ActivePerl on WinXP vs. LinuxRH9
by iburrell (Chaplain) on Nov 10, 2004 at 18:37 UTC
    Installing modules is different. With ActivePerl, people usually use pre-built PPM packages. Pure Perl modules can be built with CPAN but it is harder. Getting the right compilers for building binary modules is a challenge.

    Perl comes from a Unix background and certain idioms depend on that. The emulation in Windows can be imperfect. For example, fork() behaves the same but has different side-effects.

    For your purposes, the networking internals are completely different. I assume there is an interface to packets since there are Windows firewall products but the API isn't well known and is probably complicated. On the other hand, the Linux networking is more transparent. There are interfaces for tapping into packets from the kerne (netlink sockets). There are ways of doing transparent proxying.

Re: ActivePerl on WinXP vs. LinuxRH9
by fglock (Vicar) on Nov 10, 2004 at 17:05 UTC

    If your application will be used both in Linux and Windows, you should have both systems available. It is also much useful to have a source version control system (such as CVS) that you can access both from Linux and Windows.

Re: ActivePerl on WinXP vs. LinuxRH9
by NetWallah (Canon) on Nov 10, 2004 at 19:06 UTC
    I have done a significant amount of perl network programming for the Win32 environment, including SNMP, packet sniffing, telnet, socket programming, firewall log analysis, MRTG interfaces, SSH, Web content monitoring, and FTP. I have come accross difficulties in accessing, compiling and installing modules, Windows-specific module bugs, and Linux-only features that I wanted.

    On the positive side, I have not come across a show-stopping issue, or a major feature I could not have - hence, I'm happy with the platform, and would not be willing to go through the Linux learning curve , to obtain what I see as minimal incremental benifits.

    The bottom line is that I DO recommend Win32 perl as a viable network programming platform.

        Earth first! (We'll rob the other planets later)

      > I... would not be willing to go through the Linux learning curve , to obtain what I see as minimal incremental benifits.

      I hear this a lot, and I used to sympathize. However, the learning curve for a competent Win2K admin to move to Linux is not that bad any longer. I recently trained a "point-and-click" administrator -- a man who could barely admin Windows -- to admin a Linux box. In a week.

      My wife installed Debian on her first try -- she's not computer-illiterate, but she's not even really a "power user". See, there are enough point-and-click administration tools out there that reduce the learning curve. You can learn to use -- and develop for -- Linux quickly, even if it takes a while to become really proficient.

      require General::Disclaimer;
      Perl is

        . . . and on in the matter of *nix benefits, I suspect they're greater than NetWallah realizes. If all you're using the Perl language for is Windows-specific tasks, there's certainly very little point in developing in Perl on a non-Windows platform, but the *nix platform and Perl simply feel like a marriage made in heaven.

        One of the things that makes me so pleased with Debian GNU/Linux (or, by extension, any *nix) is the broad range of additional functionality I get from the seamless functionality of Perl as an administrative tool. The ability to write scripts to perform somewhat complex tasks involving basic system functionality and data management in such a flexible, fairly limitless manner, and to do it so easily, adds a definite boost to the usefulness of a computer.

        Meanwhile, text-based operations on Windows feel like doing battle with a man-eating tiger, with a wet noodle as my only weapon. Considering how much additional fine-grained control one can have from an operating environment that adds full shell functionality alongside whatever GUI tools you're using, or even without the GUI tools at all, I find the inability to make use of the CLI to the extent I can in Linux to be thoroughly frustrating in Windows. Maybe that's just me, though.

        It's not easy to believe, looking back, that four years ago I thought of the command line as quaint and ultimately useless, though of strong nostalgic value. That's what I get for going from DOS to Windows, I suppose. Now that I've become thoroughly comfortable with and attached to Linux, though, I'm grateful to have finally found my way to an OS environment that doesn't devalue either CLI or GUI.

        In fact, considering the vast sea of options available to me in configuring it, I find that *nix values the GUI more than Windows does.

        - apotheon
        CopyWrite Chad Perrin

Re: ActivePerl on WinXP vs. LinuxRH9
by mosh (Scribe) on Nov 11, 2004 at 11:29 UTC
    Unfortunately, (forgive me those win32 devotees...) my application should be supported Win, so I think that stand alone Linux machine for my perl code is unacceptable (again, nfortunately...) :(

    What do you say guys, about the idea of using VMWARE installed on my WinXP with guest Linux OS and running perl from there ?
    Has Anyone try this ?
    Is there a limitation ?


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://406712]
Approved by gellyfish
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2024-04-13 15:38 GMT
Find Nodes?
    Voting Booth?

    No recent polls found