Difference between revisions of "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
(→‎Other: postmodern computer language)
(→‎Reference: official perl 6 doc)
 
(5 intermediate revisions by the same user not shown)
Line 16: Line 16:
 
* {{wikipedia|Perl}}
 
* {{wikipedia|Perl}}
 
* [http://www.cpan.org/ CPAN]: documentation links at the Comprehensive Perl Archive Network
 
* [http://www.cpan.org/ CPAN]: documentation links at the Comprehensive Perl Archive Network
 +
* '''Perl 6''''s official release is expected any month now:
 +
** [http://perlcabal.org/syn/ Official Perl 6 Documentation]
 +
 +
===Tutorials===
 +
* From the Perl Advent Calendar (2006):
 +
** [http://perladvent.pm.org/2006/1/ Good things come in small packages]: the standard profiler and a new line-by-line profiler
 +
** [http://perladvent.pm.org/2006/2/ Peeking under the tree]: an object-oriented directory-tree spider
 +
** [http://perladvent.pm.org/2006/4/ Are you naughty or nice?]: a lighter version of the CGI module
 +
** [http://perladvent.pm.org/2006/9/ Made my sister eat a bug]: the Perl debugger, and an alternative
 +
** [http://perladvent.pm.org/2006/11/ Putting Tinsel on the Tree]: using GD and GD::Simple graphics-drawing libraries
 +
 
===Other===
 
===Other===
 
* [http://feather.perl6.nl:8080/cgi-bin/runpugs? PUGS], the Perl6 User's Golfing System: online simulation of Perl6
 
* [http://feather.perl6.nl:8080/cgi-bin/runpugs? PUGS], the Perl6 User's Golfing System: online simulation of Perl6
* [http://www.wall.org/~larry/pm.html Perl, the first postmodern computer language] by [[Larry Wall]]
+
* [[Larry Wall]]'s writings:
 +
** [http://www.wall.org/~larry/pm.html Perl, the first postmodern computer language]
 +
** '''2006-09-06''' [http://interviews.slashdot.org/interviews/02/09/06/1343222.shtml?tid=145  Larry Wall On Perl, Religion, and...]: mostly about Perl6, with some religious discussion
  
 
==Libraries and Modules==
 
==Libraries and Modules==
Line 25: Line 38:
 
* '''Frequently-used libraries''':
 
* '''Frequently-used libraries''':
 
** [[Perl DBI]]: database interface
 
** [[Perl DBI]]: database interface
 +
** [http://search.cpan.org/~jzucker/DBD-AnyData-0.08/AnyData.pm DBD::AnyData]: handles a number of common data formats (expandable) with a DBI-like API
 
** [http://search.cpan.org/~stevan/Moose/lib/Moose.pm Moose]: an improved [[object-oriented programming|OOP]] module for Perl5 (Perl6 has better OOP built in)
 
** [http://search.cpan.org/~stevan/Moose/lib/Moose.pm Moose]: an improved [[object-oriented programming|OOP]] module for Perl5 (Perl6 has better OOP built in)
 
* '''Frameworks'''
 
* '''Frameworks'''
Line 32: Line 46:
 
* Although single-quoted strings are widely cited as not interpreting anything, you do have to backslash certain characters if you want them represented literally:
 
* 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 single-quote itself ( \' )
** period ( \. )
+
** the backslash character ( \\ )
 
* One of the reasons for [[PHP]]'s popularity over [[Perl vs. PHP|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:
 
* One of the reasons for [[PHP]]'s popularity over [[Perl vs. PHP|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);
 
  use CGI::Carp qw(fatalsToBrowser);

Latest revision as of 01:32, 28 April 2007

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();