====== Perl Notes ====== Perl is a powerful yet ugly programming language. Sadly, it is based on too much symbolic syntax rather on a grammar that lends itself to readability and maintainability. A bad programmer can program worse in Perl, but a good programmer should know better than to be tempted by what Perl has to offer. Perl is a strong language, but has evolved beyond its original scope. Writing too much Perl code can make your fingers curl in strnage directions, from all the shift-symbols that is required. My approach has been to write Perl in a manner that any C programmer can read, and not to use syntaxes that are not required that lead to confusion for myself and future programmers. I am trying not to write a complete Perl reference. That would be too long and is found on the perldoc site. Instead, I am trying to show a subset of Perl that I prefer to use on good style. Perl has a lot of implied variables that I prefer not to use if I can avoid it. This is therefore my style guide, not the general Perl public's style. I like Perl. Creator Larry Wall and the Perl team have done an excellent job with it. It has a large learning curve, and a large wealth of knowledge to master. The CPAN libraries give Perl an excellent method of building sophisticated applications without having to build all the plumbing in a project. An excellent book is the definitive one: Programming Perl by the Perl giants, Wall, Chistiansen, and Orwant. - [[programming:perl:structure|Perl Program Structure]] - [[programming:perl:control|Statements, Loops, and Conditionals]] - [[programming:perl:variables|Variables and Data]] - [[programming:perl:numbers|Numbers and Mathematical Operations]] - [[programming:perl:strings|Strings and Text Operations]] - [[programming:perl:boolean|Boolean, True/False, and Operations]] - [[programming:perl:scalars|Scalars--Simple Variables]] - [[programming:perl:arrays|Arrays]] - [[programming:perl:hashes|Associative Arrays, or Hashes]] - [[programming:perl:references|References]] - [[programming:perl:tables|Tables and Multi-Dimentional Arrays]] - [[programming:perl:dstruc|Data Structures]] - [[programming:perl:libraries|Libraries]] - [[programming:perl:oo|Objects]] - [[programming:perl:files|File I/O]] - [[programming:perl:regex|Regular Expressions]] - [[programming:perl:database|Database Access]] - [[programming:perl:command|Command-line programs]]