oreilly.comSafari Books Online.Conferences.


ICplanet: Running Perl in the Engine

by Lori Houston

Entrepreneur Doug Carlston, who built Broderbund Software into a $300 million company, is using the Internet to bring together corporations and consultants. The growth of independent contractors and corporate outsourcing is fueling his new venture, ICplanet, which officially entered the $65 billion temporary staffing market this week. The startup's newly launched Web site features patented SmartSearch technology, a search engine that enables member companies to "pinpoint" matches between their specific staffing needs and qualified independent consultants (ICs).

At the technical level, ICplanet's business relies on manipulating enormous text databases to extract user-specific information for dynamic Web pages. It's just the sort of environment where Perl excels.

Anyone who visits the ICplanet site can browse and query the databases, but only corporate users who pay and ICs who register get the company's complete services. ICplanet hopes to distinguish itself from other job boards and Web-recruiting sites by selling corporate clients on the efficiency and cost-savings of SmartSearch technology. Corporate users can tailor searches to target skills, availability, experience, education, and other IC qualifications to narrow potential candidates down to the top five rather than a list of hundreds. ICs can search for open contract positions using customized combinations of conditions such as industry type, geographical location, and pay rate. All users can sort and rank their search results.

Perl pulls things together

Perl is one of the fundamental tools ICplanet's developer Peter VanGorder uses to manipulate the vast amounts of data on their site. He codes in C++, Java, Shockwave Lingo, and JavaScript, and tweaks his programs with HTML and ColdFusion. Then he pulls it all together by running Perl scripts he has written to collect statistics, assemble them within a database, and control the information's graphic presentation through Macromedia Generator, a commercial Web-publishing program.

"Generator is a great tool for taking text, piping it to a template, and rendering it into a beautiful Flash, GIF, JPEG, or AVI file. And, because Perl is great for manipulating text, it's a perfect match," VanGorder says. Because he so frequently uses Perl to join applications and data, he jokes, "My official title here is Web engineer, but my self-appointed title is 'Duct Taper'."

VanGorder is also working to publish ICplanet data and syndicated content on other Web sites, which he can accomplish with the Perl-controlled Generator. So a user on the Milwaukee Writer's Guild Web site, for example, will be able to view an ICplanet-generated list of jobs for writers in that region. The list will be "live," enabling the user to click on a job title, view the job description, and instantly apply for it.

"With Perl, I can pull data from a database, a Web page, or a CGI form; manipulate it, feed it to Generator and--voila!--produce beautiful dynamic graphics," VanGorder says. He acknowledges he could get the same results with other programming or scripting languages, but only at the expense of spending more time in development. Because he frequently must produce demos on short notice, he turns to Perl repeatedly. In addition to development speed, Perl gives him reliable performance. "For example, I don't have to worry about potential memory leaks at the last minute," he notes. "It's not surprising to me that Perl is becoming increasingly popular."

Interested in learning more about Perl and other Open Source technologies? The O'Reilly Open Source Convention is the place to go.

VanGorder is also working on a text version of the syndicate application because he generally finds text easier to mesh into existing Web sites. "Ninety-nine percent of all Web pages are text, and Perl is at its finest parsing and manipulating text. Sure, I can do string manipulation in C, C++, and Java, but not without writing additional code or importing and learning additional libraries. Perl seems to have been designed with string manipulation in mind."

Working with more complex data structures might necessitate programming in a language like Java, VanGorder acknowledges, but the data he deals with is primarily text in lists, arrays, hashes, and stacks. Perl's proclivity for parsing text gives him the quickest route to connect to databases, control and talk to other programs, and invoke external processes to make his code function as a CGI (Common Gateway Interface).

The open source advantage

Besides Perl's efficiency with text data, VanGorder likes the fact that Perl is an open source language. In the fast and intense climate of an Internet start-up, that's a real plus. "Why would I spend money to get support that is not as good as I could get from my colleagues? Beyond the money, defects and bugs usually get fixed faster with open source software because of the large user base. The people working on the code feel a sense of ownership. Open source encourages information sharing, code sharing, and frequent updates, where the alternative usually does not."

Learn how large and small companies are putting Perl to work by reading more Perl Success Stories.

"I work with a CTO whose philosophy is `If you can deliver on time and not code yourself into a hole, use whatever language or technology you want.' We code in a little bit of everything here, using the right tool for the job. So I haven't `switched' to Perl as much as added it to my tool belt. And for our rapid development needs, Perl is frequently the best choice."

Sponsored by: