====== Perl ======
[[wp>Perl]] is the acronym for "Practical Extraction and Reporting Language".
* www.perl.org -- Homepage\\ [[https://www.perl.org/get.html|Download Page]]
===== Documentation: =====
* [[http://perldoc.perl.org/|perldoc.perl.org]]
==== Quick Reference ====
* [[http://www.cs.tut.fi/~jkorpela/perl/regexp.html|Regular expressions in Perl]]
==== Tutorials ====
* https://perlmaven.com/perl-tutorial
* [[http://users.cs.cf.ac.uk/Dave.Marshall/PERL/|Practical Perl Programming]]
* [[https://code-maven.com/slides/perl-programming/|Perl Programming]]
* [[http://www.tizag.com/perlT/index.php|Perl Tutorial]]
===== Validation: =====
* www.perlcritic.com
* [[http://me.veekun.com/blog/2011/04/13/perl-worst-practices/|Perl Worst Practices]]
===== Resources: =====
* http://www.cpan.org -- The Comprehensive Perl Archive Network
* http://www.cpan.org/ports -- Perl Ports
* https://www.cpan.org/SITES.html
==== Recommended Reading ====
* {{https://www.geos.ed.ac.uk/~bmg/software/Perl%20Books/OReilly.Perl.Cookbook.pdf|Perl Cookbook}}
* [[http://de.selfhtml.org/perl/intro.htm|Einführung in Perl]] -- A comprehensive introduction for beginners (focused on CGI programming)\\ More details on [[http://de.selfhtml.org/perl/module/index.htm|Perl-Module]]
* [[http://docstore.mik.ua/orelly/perl3/lwp/index.htm|Perl & LWP]] -- The Perl web client library.
===== Perl by Example =====
* Present a //Usage// message. :TODO:
* [[http://perthon.sourceforge.net/|Perthon]] -- Python to Perl Language Translation
==== One Liners ====
* [[http://www.catonmat.net/download/perl1line.txt|Useful One-Line Scripts for Perl]]
* https://code-maven.com/slides/perl-programming/oneliners|
==== Command Line Options ====
* [[http://www.perlmonks.org/?node_id=88222|Parsing your script's command line]]
==== Sleep ====
* [[https://stackoverflow.com/questions/896904/how-do-i-sleep-for-a-millisecond-in-perl|How do I sleep for a millisecond in Perl?]]
==== Serial Interface ====
* [[http://www.perlmonks.org/?node_id=88966|Platform-independent Serial Port code]]
* [[http://www.horter.de/i2c/i2c-beispiele/beisp_perl_1.html|Ansteuerung des I2C-RS232-Modems mit Perl - Temperatur lesen vom LM75 mit dem I2C-RS232-Modem]]
==== Here Documents ====
* [[http://www.perlmonks.org/?node_id=731155|Heredoc with system call]]
* [[https://docstore.mik.ua/orelly/perl/cookbook/ch01_12.htm|Indenting Here Documents]]
==== Perl and CSV ====
* [[http://search.cpan.org/~makamaka/Text-CSV-1.21/lib/Text/CSV.pm|Text::CSV only]]
==== Perl and Excel ====
* [[https://www.thegeekstuff.com/2011/12/perl-and-excel/|How to Read, Write, Parse Excel Files using Perl]]
==== Perl and Micro$oft Windows ====
* [http://www.perlmonks.org/?node_id=984508|Perl on Windows Best Practices?]]
* [[http://www.perlmonks.org/?node_id=773754|How to use Win32::API to access variable in DLL file?]]
==== HTML ====
* [[http://www.perl.com/pub/2006/01/19/analyzing_html.html|Analyzing HTML with Perl]]
* [[http://lwp.interglacial.com/ch10_01.htm|Modifying HTML with Trees]]
* [[http://stackoverflow.com/questions/12702597/search-a-tag-and-delete-its-content-including-the-tag-itself-in-perl|Search a tag and delete its content including the tag itself in Perl]]
* [[http://stackoverflow.com/questions/5028505/extract-contents-of-paragraph-tag-using-a-perl-one-liner|Extract contents of paragraph tag using a Perl one liner]]
* [[http://www.perlmonks.org/?node_id=481862|How do I create non-breaking space ( ) with HTML::Element?]]
* Related Perl Modules
* [[http://search.cpan.org/~cjm/HTML-Tree-5.03/lib/HTML/TreeBuilder.pm|HTML::TreeBuilder]]
* [[http://search.cpan.org/~cjm/HTML-Tree-5.03/lib/HTML/Element.pm|HTML::Element]]
==== Files ====
* [[http://www.perlmonks.org/?node_id=217378|Beginners guide to File::Find]] -- and even more advanced uses (e.g. the pre- and postprocess feature).
* [[https://stackoverflow.com/questions/10948854/perl-how-to-split-a-file|Perl: how to split a file?]] [(https://web.archive.org/web/20200710064442/https://stackoverflow.com/questions/10948854/perl-how-to-split-a-file)] -- split file at matching separator string
===== Frequently Asked Questions =====
* [[https://stackoverflow.com/questions/1237286/how-can-i-compile-my-perl-script-so-it-can-be-executed-on-systems-without-perl-i|How can I compile my Perl script so it can be executed on systems without perl installed?]]
==== How to install Perl modules from CPAN? ====
The module //HTML::Template// for example, may be installed from shell with below command
perl -MCPAN -e 'install HTML::Template'
Source: http://perl.about.com/od/packagesmodules/qt/perlcpan.htm
==== How can I programmatically convert Word doc or docx files into text files? ====
[[http://stackoverflow.com/questions/1110409/how-can-i-programmatically-convert-word-doc-or-docx-files-into-text-files|Here]] is an example using [[http://search.cpan.org/~jdb/Win32-OLE-0.1709/lib/Win32/OLE.pm|Win32::OLE]].