Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Perl/CGI Development on Win32 in 2004

by deep submerge (Scribe)
on Aug 16, 2004 at 14:29 UTC ( #383305=perlmeditation: print w/replies, xml ) Need Help??

I tried looking the topic of development up on the site, but the articles were dated 2000 and some of the links didn't work anymore...

Anyway, my question is more of discovering other users' preferences on development. How does one develop a Perl/CGI application for a remote Unix-based server when your home box is just some flavor of Windows? While I realize that there is Apache for Windows, I'm just wondering if there's any other way of developing. I mean, most of the time, the remote machine will have things like SQL or what have you that I wouldn't want going on my home machine.

What I usually end up doing is just making a script on the live server, and keep coding and refreshing and coding and refreshing. Seems kind of... Hackish and not so elegant.

That and what IDE do you use? I'm trying to focus primarily on the free ones, and one that I've found that's definitely free is located here at http://open-perl-ide.sourceforge.net/

My only gripe about it is that its variable watching requires some effort. And I hate effort. Which is why I learned Perl. =)

Thank you for your time and wisdom.

Replies are listed 'Best First'.
Re: Perl/CGI Development on Win32 in 2004
by dragonchild (Archbishop) on Aug 16, 2004 at 15:02 UTC
    Cygwin is what I use at home and at work and it has been a godsend. It gives you a Unix-like feel to a Win32 computer. Nearly every major opensource distribution has hooks for cygwin when installing. Oh - and it's free. :-)

    Personally, my IDE is whatever flavor of vi is installed. You can even donwload gVim for Win32. Oh - and if you don't use some sort of source control (CVS, RCS, SubVersion, SourceSafe, etc), you're just asking for trouble.

    ------
    We are the carpenters and bricklayers of the Information Age.

    Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

    I shouldn't have to say this, but any code, unless otherwise stated, is untested

Re: Perl/CGI Development on Win32 in 2004
by dws (Chancellor) on Aug 16, 2004 at 16:44 UTC

    How does one develop a Perl/CGI application for a remote Unix-based server when your home box is just some flavor of Windows?

    Find a throwaway box to install Linux on. Seriously. Someone near you probably has a P-II or P-III box that's way underpowered for Windows, but which will run Linux (or FreeBSD) just fine. A 133Mhz Pentium with 128Mb of RAM running headless (i.e., no X) Linux with Apache and MySQL isn't going to break any speed records, but it's good enough to develop on. You don't even need a monitor; set the box up to look like your ISP, and use putty for an ssh session into it. Or invest $45 for a 2-port KVM.

Re: Perl/CGI Development on Win32 in 2004
by fireartist (Chaplain) on Aug 16, 2004 at 16:12 UTC
    I work sitting at either a WinXP or macOSX box.
    I use the Eclipse 3.0 IDE with the epic perl plugin on both platforms. It provides continuous syntax checking via my installed perl executable.
    On WinXP I use ActivePerl. On the mac I compiled my own perl (if I remember correctly, the preinstalled one had debugging on, so DBI couldn't be installed)
    I have apache and MySQL installed on both machines so that I can test my development locally.
    My websites run on both solaris and x86 linux machines requiring no code changes at all.
    I do often ssh into the solaris box so I can do easier command line file manipulations, but I intend to look at the perl power tools soon to see if I can make that redundant.
Re: Perl/CGI Development on Win32 in 2004
by jZed (Prior) on Aug 16, 2004 at 15:51 UTC
    most of the time, the remote machine will have things like SQL or what have you that I wouldn't want going on my home machine.

    If by SQL you mean a database management system that can be manipulated with SQL, there's no reason you can't have some version of it set up on your home machine. DBI works fine under windows. DBD::Proxy will allow your local scripts to access the remote database just as if the database were local. Or, there are many drivers for databases systems that work fine on windows including CSV, SQLite, MySQL, Pg (using cygwin and perhaps soon without), and even Oracle has a free developers version.

Re: Perl/CGI Development on Win32 in 2004
by tilly (Archbishop) on Aug 16, 2004 at 15:33 UTC
    My solution is to install Linux on my home machine. I don't bother with an IDE.
Re: Perl/CGI Development on Win32 in 2004
by Anneq (Vicar) on Aug 17, 2004 at 19:05 UTC

    deep,

    I am developing Perl/CGI on Win32 and publishing to a remote unix server. I use cvs (version control) with Eclipse (IDE) and EPIC (Eclipse plugin for Perl). Locally, I use Apache for my web server. This is all open source and all excellent stuff.

    Before Eclipse, I was making changes locally using gVim (IDE) and then using SSH to upload the modified files. Very time consuming. After trying out cvs, and in particular, Eclipse, I don't know how I got by without it.

    Basically I set up a cvs repository on the remote server. cvs and Eclipse both support SSH. My local web source directoy (on my laptop) is a cvs workspace that was created by checking out a copy from the repository. Once I've made my changes locally and am satisfied with the changes, I commit those changes to the remote cvs repository. My remote production web source, is also a cvs workspace that was created by checking it out from the repository. Now it only takes a single cvs update command to update this remote workspace from the repository. One command brings the entire remote web source up to date. Its a lot faster and less error prone then doing it manually.

    It takes a little while to get everything set up initially but after that is is extremely easy to use and makes development much more efficient. I can also roll-back to previous versions if I decide that I don't like the latest changes I've made

    To add icing to the cake, Eclipse has numerous other powerful plugins. I think that the things you find lacking in Open Perl IDE, you'll find are supported by Eclipse. I tried Open Perl IDE and it didn't have what I was looking for. As well, I was concerned that it didn't seem to have anyone currently working on improving it.

    I use SQLite for my database locally, which is also supported on the remote host. I haven't had any problems with it. It even has some free management tools for Win32, such as SQLite Database Browser.

    Not what you were asking but, FWIW, Perl modules/tools that I find essential are Template Toolkit, CGI, CGI::Application, CGI::Session, DBI, Class::DBI, and Data::FormValidator.

    HTH,

    Anne

      I second Anneq's suggestion to use CVS (I've heard good things about subversion too, but I have no personal experience with it).

      Personally I can't seem to get used to EPIC, but Eclipse does have some really funky CVS integration. If you want something a little "lighter", try TortoiseCVS - it integrates into the win32 explorer, so it's easy to use and works well.

      The CVS client/server model can help with deployment and it will make it a lot easier to have more than one developer working on a project, with each programmer having their own development sandbox. This means everyone can run his/her own server to test on and changes only get committed to the repository after they get tested on the developer's box.

      I'd strongly recommend you set up a webserver for each developer on their own machine. You want to keep the write/run/debug cycle short, and time spend moving files about is time waisted. (Another possibility is to put the sandboxes on a shared directory on another machine, but remember that people will want to reconfigure the webserver and/or reboot the machine)

        Joost,

        Have you tried the latest version of EPIC (0.3.0)? There are some improvements that might help eliminate some of your problems with it. I've managed, through googling, to get Run working and the code templating and code completion features work excellently. You can bookmark lines of code and insert to do items right in your script. The latest version now includes some documentation that helps in figuring things out. Errors and warnings show up in the Problems tab and you can hover over errors/warnings to see an explanation. As well, you can highlight a word (for example a function) and it shows the perldoc page on it. A handy bar on the right of the code window show colored bars so that you can quickly scroll to errors (red), to do tags (blue), and bookmarks (green).

        OK, so I'm a big fan of EPIC and Eclipse. But for a lot of good reasons.

        UPDATE
        I saw an Eclipse plugin for subversion but I haven't looked into it yet.

        Anne

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://383305]
Approved by dws
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (10)
As of 2022-06-27 12:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My most frequent journeys are powered by:









    Results (88 votes). Check out past polls.

    Notices?