Perl

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search

computing: software: programming: Perl

This is a growing seedling article. You can help HTYP by watering it.

Overview

Perl is a programming language widely used for web sites and Linux servers. It can be somewhat baffling to the eye – largely due to the frequent use of regular expressions – but due to its popularity it has been greatly refined and there is a large base of existing code available for reuse.

Articles

Usage

Design

Links

Reference

Tutorials

Other

Libraries and Modules

  • Collections:
    • CPAN: search the Comprehensive Perl Archive Network
  • Frequently-used libraries:
    • Perl DBI: database interface
    • DBD::AnyData: handles a number of common data formats (expandable) with a DBI-like API
    • Moose: an improved OOP module for Perl5 (Perl6 has better OOP built in)
  • Frameworks

Notes

  • Although single-quoted strings are widely cited as not interpreting anything, you do have to backslash certain characters if you want them represented literally:
    • the single-quote itself ( \' )
    • the backslash character ( \\ )
  • One of the reasons for PHP's popularity over Perl for developing web applications is that it prints errors to the web browser, rather than simply quitting abruptly (causing either an incomplete page or, more likely, a 5xx Server Error). Perl does not do this by default. It is, however, quite easy to make this happen, by including the following line of code near the beginning of a program:
use CGI::Carp qw(fatalsToBrowser);
  • Although there is apparently no formal block-quote syntax (like /* */ in c/c++), a syntax used for documentation seems to accomplish the same thing. It's not presently known whether this is documented anywhere. "=anystring", at the beginning of a line, starts a block comment, and "=cut" at the beginning of a line ends the comment. This has not been tested thoroughly, but the exact string "cut" does seem to be necessary. Example:
regular_code_here();
==something
This part is commented, i.e. ignored by the parser.
Anything up until the "cut" line.
==cut
more_code();