Site Tools


Hotfix release available: 2026-07-14c "Mort". upgrade now! [57.3] (what's this?)
Hotfix release available: 2026-07-14b "Mort". upgrade now! [57.2] (what's this?)
Hotfix release available: 2026-07-14a "Mort". upgrade now! [57.1] (what's this?)
New release available: 2026-07-14 "Mort". upgrade now! [57] (what's this?)
Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
notes:perl_cheat_sheet

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
notes:perl_cheat_sheet [2026/09/13 07:17]
190.89.29.248 old revision restored (2026/07/27 05:35)
notes:perl_cheat_sheet [2026/09/14 05:19] (current)
185.11.17.58 old revision restored (2026/08/03 08:07)
Line 14: Line 14:
   * Parenthesis are optional unless part of syntax.   * Parenthesis are optional unless part of syntax.
   * ''@ARGV'' contains arguments, $0 contains program name.   * ''@ARGV'' contains arguments, $0 contains program name.
-  * ''die''/''warn'' can be used to exit/warn, $! will contain any system error message. Without \n at the end, perl will append line number to error message. 
  
 ===== Numbers ===== ===== Numbers =====
Line 61: Line 60:
   * Expressions parsed in either a scalar context or a list context. Scalars are promoted to single-element lists in list context.    * Expressions parsed in either a scalar context or a list context. Scalars are promoted to single-element lists in list context. 
   * List functions may return different scalars - array variables return number of elements. The ''scalar'' function forces a scalar context e.g. for print function.   * List functions may return different scalars - array variables return number of elements. The ''scalar'' function forces a scalar context e.g. for print function.
- 
-===== Hashes ===== 
- 
-  * A hash is a list indexed by a string (key) - a collection of key-value pairs. ''%hash'' has its own namespace. 
-  * Uses scalable, efficient algorithms. Used to be called associative arrays. 
-  * ''$hash{$some_key}'' to access a value (curly-braces instead of square braces). 
-  * Assigning a hash to an array unwinds (flattens) it.  
-  * To initialize a hash :<code perl>%some_hash = ('a', 1, 'b', 2, 'c', 3); 
-%some_hash = ( 'a' => 1, 'b'=>2, 'c'=>3,);</code> 
-  * When using a big arrow (a fat-comma) or when accessing a value, simple keys don't have to be quoted (barewords) e.g. <code perl>%some_hash = ( a => 1}; $some_hash{a};</code> 
-  * ''%revhash = reverse %hash'' to reverse a hash (for non-unique values, last one wins). 
-  * ''keys %hash;'' and ''values %hash;'' return a list of keys or value in same order (or # of keys/values in scalar context). 
-  *  '' %hash' is true only if hash has at least one key-value pair. 
-  * To iterate over hash : <code perl>while ( ($key, $value) = each %hash ) { 
-  print "$key => $value\n"; }</code> or in order of keys <code perl>foreach $key (sort keys %hash) { 
-  print "$key => $hash{$key}\n"; } </code> 
-  * %ENV hash holds environment variables. 
  
 ===== Control Structures ===== ===== Control Structures =====
Line 108: Line 90:
   * ''<>'' iterates over all files in @ARGV (or STDIN if no args) like e.g. cat/sed/awk. <code perl>while (<>) {   * ''<>'' iterates over all files in @ARGV (or STDIN if no args) like e.g. cat/sed/awk. <code perl>while (<>) {
     chomp;     chomp;
-    print LOGFILE "It was $_ that I saw!\n";+    print "It was $_ that I saw!\n";
 }</code> }</code>
-  * ''print'' takes list of items and sends all to STDOUT (unseparated). ''print @array;'' vs ''print "@array";'' <code perl>print <>;          # source code for 'cat' 
-print sort <>;     # source code for 'sort'</code> 
-  * C-like printf function %g for number auto-format,%10s, %-10d etc.<code perl>my @items = qw( wilma dino pebbles ); 
-my $format = "The items are:\n" . ("%10s\n" x @items); 
-printf $format, @items; 
-printf "The items are:\n".("%10s\n" x @items), @items; 
-</code> 
-  * Filehandles can be barewords (upper-cased) or variables. Special filehandles are : STDIN, STDOUT, STDERR, DATA, ARGV, and ARGVOUT .<code perl>open CONFIG, '<dino';  # < is optional 
-open BEDROCK, '>fred' || die "Cannot open fred: $!"; 
-open LOG, '>>:encoding(UTF-8)','logfile'; # for perl >= 5.6 
-open my $bedrock, '>:crlf', $file_name; # DOS-formatted output 
-binmode STDOUT, ':encoding(UTF-8)';</code> 
-  * ''select'' can be used to change default output filehandle. ''$| = 1;'' unbuffers currently selected output. 
 ===== User Subroutines ===== ===== User Subroutines =====
  
notes/perl_cheat_sheet.1789309044.txt.gz ยท Last modified: 2026/09/13 07:17 by 190.89.29.248