====== Learning Perl ====== ===== Objectives ===== * Read and understand chapters 1-13 in **Learning Perl**. * [[tutorials:perl_quick_reference|Perl quick reference]] * Know how to write some simple scripts. For example, solve all (or at least most) of the problems in the [[tutorials:perl_exercises|perl exercise page]]. * Know how to use standard modules. For example, ''[[http://perldoc.perl.org/File/Basename.html|File::Basename]]'' and ''[[http://perldoc.perl.org/Getopt/Long.html|Getopt::Long]]'' are some of the most useful ones. * Know how to use [[http://www.bioperl.org/|BioPerl]]. This may not be necessary for simple scripting but is extremely useful if you need to work on sequence data (e.g., BLAST output). * See the big picture: using perl scripts to solve real-world research problem. * Example: download a list of GenBank records ([[bioinformatics:batch_download_entrez|Batch Download Entrez]]) * Know how to read other people's scripts. See scripts in the [[tutorials:perl_examples|perl example page]]. * Can you describe, conceptually, how each script solves a particular problem? * Do you understand how they work? Can you explain every line in a script? * If someone accidentally (or purposely) introduces a bug in a script, can you fix it? ===== References ===== ==== Books ==== * **Learning Perl**, Schwartz et al., O'Reilly. The Chinese version is [[http://www.oreilly.com.tw/product2_perl.php?id=a239|Perl 學習手冊 第五版]]. This is //the book// to read when you want to get started with perl. [[http://doc.novsu.ac.ru/oreilly/perl/learn/index.htm|Full text here]]. * **Perl Cookbook**, Christiansen et al, O'Reilly. The Chinese version is in two parts: [[http://www.oreilly.com.tw/product_perl.php?id=a022|Perl 食譜 (上)]] and [[http://www.oreilly.com.tw/product_perl.php?id=a023|Perl 食譜(下冊)]]. Provides lots of useful tips. Useful as a reference book to find some quick solutions (but not as a systematic guide). [[http://doc.novsu.ac.ru/oreilly/perl/cookbook/index.htm|Full text here]]. * **Programming Perl**, Wall et al., O'Reilly. The Chinese version is [[http://www.oreilly.com.tw/product_perl.php?id=a156|Perl 程式設計 第三版]]. Written by the the creator of perl (Larry Wall), a must read if you really want to know perl. However, not an easy read for someone who just got started with perl. [[http://doc.novsu.ac.ru/oreilly/perl/prog/index.htm|Full text here]]. * **Beginning Perl for Bioinformatics**, Tisdall, O'Reilly. * **Mastering Perl for Bioinformatics**, Tisdall, O'Reilly. ==== Web ==== * [[http://stein.cshl.org/genome_informatics/|Bioinformatics workshop by Lincoln Stein]] * [[http://www.bioperl.org/wiki/HOWTOs|BioPerl HowTos]] ==== Style ==== * [[http://www.perl.com/doc/manual/html/pod/perlstyle.html|Official style guide]] * [[http://perltidy.sourceforge.net/|Perltidy]]: A handy tool for re-formatting codes