SitePoint Sponsor

User Tag List

Results 1 to 1 of 1

Thread: Perl Resources

Threaded View

  1. #1
    SitePoint Wizard Stomme poes's Avatar
    Join Date
    Aug 2007
    Location
    Netherlands
    Posts
    10,278
    Mentioned
    50 Post(s)
    Tagged
    2 Thread(s)

    Perl Resources

    Perl resources
    Perl has changed a lot in the last 10 years. If you've ever wanted to get into Perl, you may have seen plenty of hairy, write-only, ob-fu contest-winning dirty old Perl. That's called "bad programming", please ignore it. You can write FORTRAN in any language.

    You should be writing Modern Perl.
    You should be starting with use strict and use warnings (and if you're writing in Perl 5.12, use strict is already there by default).

    While Perl may be more popular in areas such as genetic research, it has plenty to offer for web developers, especially with the Perl revolution spitting out several (too many to count!) web frameworks, applications, and cool modules. It's running large websites like Amazon and Slashdot, the New York Times and the BBC, and plenty of small ones such as the search engine DuckDuckGo. Perl is still about "Making easy things easy and hard things possible."

    Coming from Ruby or Python? Read this little blurb Practical Modern Perl for Ruby and Python People (2010)

    Note on spelling: "Perl" generally refers to the language itself. "perl" generally refers to the interpreter. "PERL" isn't used, except by old Unix guys used to everything being spelled that way, and people who believe PERL is an acronym for Practical Extraction and Report Language. Or Pathologically Eclectic Rubbish Lister. Or any of the others too impolite to mention here.

    Perl distributions
    Of course, if you're running Linux, FreeBSD, Mac OSX or some other *nix, you likely already have Perl : ) However, you may not have the latest Perl.
    Downloading the latest version of Perl
    Windows:


    Perl 6:
    Perl 6 is not an upgrade of Perl 5. It is instead a new language in the Perl family, written from the ground up. Perl 5 has been able to take many new ideas from Perl 6 and continues to evolve as "Perl 5", but for those interested in Perl 6, here are some links:


    Looking for a Perl IDE?
    • Komodo IDE - from ActiveState
    • Padre - Perl IDE, also for Perl 6
    • EPIC - Perl editor and IDE for Eclipse


    Perl documentation


    Regular Expressions Documentation/Tutorials
    Besides CPAN, regexen are one of Perl's greatest strengths


    Perl modules


    Perl developer communities


    Perl books
    I've listed most of these with Amazon.com links, where you can grab the ISBN and read reviews, even if it's not the bookstore for you (note: free international shipping? look for books at Book Depository).
    General and beginning books

    Advanced and specialty books

    Databases, Apache, CGI, etc


    Perl tutorials, articles
    Tuts/Refs



    Debugging!


    Frequent "gotchas" and things to be aware of


    Articles/Blogs (rather random selection really)

    Oldies but still on the must-read list:

    SitePoint


    Perl scripts
    If you have been running scripts from Matt's Script Archive, please try nms instead.
    Specifically, if you're looking for FormMail, on the programs page look for TFMail, the Improved Form Mail script. Any script that instructs you to have hidden input fields containing email addresses in your HTML should be avoided!!


    Beyond vanilla Perl
    CGI:
    You can use plain CGI, but there's more than that out there:
    • FastCGI - Run CGI scripts faster, in multiple languages (not to be confused with the CPAN module CGI::Fast)
    • Mod_perl - practically an extension of Apache!
    • HTTP::Engine - a Moose-based Web Server Gateway Interface and HTTP Server Engine Drivers


    Frameworks:
    • (web) Catalyst - a "heavy" application framework that makes generous use of CPAN
    • (web) Web::Simple - written by one of the authors of Catalyst, for when you need a light, bare-bones web application. Web::Simple on CPAN
    • (web) CGI::Application - a lighter application framework built of CGI modules, but also comes as Titanium, a wrapper with additional modules, easier installation and unified documentation
    • (web) Dancer - a mini web application framework based on Ruby's Sinatra and similar to Python's Bottle and Flask frameworks (by default using PSGI and works well with Plack::Middleware). See sites who are using Dancer today listed on the dancefloor
    • (web) Mojolicious - another MVC web framework
    • Plack - an interface between Perl web frameworks and web servers (based on Ruby's Rack and Python's WSGI)
    • POE (Perl Object Environment) - a multitasking and networking framework


    These are only some Perl frameworks listed above; there are more: Gantry, Rose, Jifty and WebGUI just to name a few of the web frameworks. Read more about Perl frameworks and how to find the right one for you.

    Content Management Systems


    Templating Libraries:



    Windows Modules:
    • Win32::OLE - an interface to OLE Automation from Perl. OLE Automation brings VisualBasic-like scripting capabilities and offers powerful extensibility and the ability to control many Win32 applications from Perl scripts
    • Spreadsheet::WriteExcel - Runs on *nix too
    • Spreadsheet::ParseExcel - Runs on *nix too


    Databases:


    Usenet groups
    • http://www.nntp.perl.org/group/ - nntp perl groups
    • comp.lang.perl.misc - Miscellaneous Perl stuff
    • comp.lang.perl.announce - Perl-related announcements
    • comp.lang.perl.modules - discussions on Perl modules
    • comp.lang.perl.tk - discussions on Perl/Tk


    If you notice any typos, bad links, or feel an important resource has been left out (but, notice how long this is and how much I've still left out), send a PM to a moderator (anyone in green or blue).
    -> PM Mittineague


    happy hacking,
    !japh
    Last edited by Mittineague; Sep 1, 2012 at 08:16. Reason: adding resource


Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •