Working with constraints and Perl!


Camel PerlAbout two days ago my good friend Chamo calls me. I did his website, which he never paid for, but I really like him because he is the kind of friend that never calls, but is there for me if I have an emergency or something. A very loyal guy.

So Chamo tells me:


         – I got this thing going on with the bank. They’ll allow me to sell on-line, and get all kind of credit card advantages and fees. But I need to present my website with on-line features ready for Monday.

         – Monday! Today is Tuesday! I can’t make an online kiosk in 4 days! For God’s sake Chamo, you are killing me!


There is no use complaining. I know the guys at the bank have it all set up for Monday. I know I like Chamo enough to give it a try. And I know I need to finish this dreaded PowerPoint for my contact in Nike (my regular job…), which I hate. That is adequate reasons for me to start working immediately.


So, let’s talk about constraints. The guys at 37signals say we should embrace constraints. And I happen to admire them, a lot. But maybe I was up against the wall here. I host Chamos’ website in Yahoo! Small Business. They allow Perl and PHP, and I knew neither. Actually, I have a book on Perl which I read but never quite got the grasp of Perl. Besides, I like Python and Ruby, so I though I was safe.

No, not safe. I think most providers of web hosting let you use Perl or PHP, at least the ones in Yahoo and Panama.

I don’t want to be boring, but I decided to look for an open source Perl shopping cart, since I liked Perl better simply because I knew that variables started with my $var, and I knew what $, @ and % meant. And that is 300% more Perl knowledge than PHP, which I know nothing about.

 I was lucky – very lucky – to download closedShop. This is a solution for a free shopping cart that is easy to install, maintain and customize. It uses Perl and mySQL to provide a full featured online e-commerce solution that is free.

The author is Chris Fleizach who I think works as a Peace Corp in Tonga. Just for general information, closedShop v2.2 was released February 26th 2006. It has many bug fixes and some useful features, like much more robust shipping. It’s worth the download and install (or upgrade).  

The documentation is scarce, but it’s a free tool, so I should not complain. I downloaded the zip file, unzipped, and installed it in my cgi-bin folder. The rest was as simple as running the program from my website. The program installed flawlessly in minutes. You need access to a MySql database. I created one previously without any tables and let closedShop do the rest, creating all the necessary tables.  

closedShop is simple. The program lets you update product categories and items, including descriptions and prices. Customers buy by using the module. The shopping cart is sort of simple, but since the program is open source, you can get dirty and change the code for more sophisticated tables and views. Choosing categories list products, which you can then click on for a close-up view and add to your cart. 

The program is for companies that sell on-line without on-line credit card transaction (which is 90% of all companies in Central America by the way, only the biggest ones have sophisticated on-line transaction modules).

Orders can be reviewed and processed with the use of the Admin tool. The program emits sales reports, send customer e-mails when their orders were process, and shipment tracking is possible if you activate the right modules.  

The case in point here is that I can’t get out of my state of bliss here. The shopping cart is working, fully, 100% operational today (Thursday in Panama as I write this). We ran the test yesterday, and it’s amazing how well everything works. The code lets you customize header and footer files in HTML to add you own navigation buttons and logos.  

Again, I never programmed in Perl, not even “Hello World!” I picked it up by looking at the code and identifying the URL posts. I am now making a Spanish version, and I am even planning on learning Perl!

So working with constraints does work? I spend more time deciding the type of CSS to use in a Rails report than what took to get this project done. Nice? No, it’s butt ugly. Functional? Incredibly so, easy and simple. No fancy screens, no fancy Javascript, just a simple shopping cart to get you started and going. And that was all Chamo needed. Not to mention he will probably ignore the invoice for my two days of work… 


One thought on “Working with constraints and Perl!

  1. Pingback: Hendy Irawan

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s