Perl 101: Things Every Perl Programmer Should Know.

How do I...

How do I get data from a database?

DBI, and its DBD children, like DBD::SQLite

How do I get data from a web page?

LWP stands for "libwww-perl", and is the standard way of talking to web pages.

WWW::Mechanize is a superset of LWP that makes HTML processing easier.

How do I do date calculations?

Use Date::Manip, Date::Calc or DateTime. All have different styles and different capabilities.

How do I handle command-line arguments in my program?

Use Getopt::Long.

How do I write CGI programs?

Use CGI.

How do I parse HTML?

Whatever you do, don't use regular expressions. Use HTML::Parser or one of the many classes that uses it. Look around on http://search.cpan.org.

If you're parsing HTML so that you can extract links or images from a web page, use WWW::Mechanize which handles it for you.

How do I parse XML?

See the list of Recommended XML Modules at the Perl 5 wiki.

http://www.perlfoundation.org/perl5/index.cgi?recommended_xml_modules

How do I know if a URL is valid?

How do I do screen access?

How do I do colors?

Use Term::ANSIColor. Example wanted.

How do I do readkey? How do I enter passwords without seeing them entered?

Use Term::ReadKey (http://search.cpan.org/dist/TermReadKey). It's a standard core module.

    use Term::ReadKey;

    ReadMode('noecho');
    my $passwd;
    my $pwcheck;

    print 'password: ';
    chomp($passwd = <STDIN>);
    print "\n";

    print 'verify: ';
    chomp($pwcheck = <STDIN>);
    print "\n";
    ReadMode('normal');

    print "You entered [$passwd] and [$pwcheck]\n";

Want to contribute?

Submit a PR to github.com/petdance/perl101


Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.