Site Tools


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/06/12 14:56]
104.255.179.6 old revision restored (2026/06/04 20:52)
notes:perl_cheat_sheet [2026/06/13 14:55] (current)
47.245.90.216 old revision restored (2026/06/04 13:11)
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 62: Line 61:
   * 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 an arrow (a fat-comma), simple keys don't have to be quoted (barewords) . 
 ===== Control Structures ===== ===== Control Structures =====
  
Line 100: 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'' takes list of items and sends all to STDOUT (unseparated). ''print @array;'' vs ''print "@array";'' <code perl>print <>;          # source code for 'cat'
Line 112: Line 102:
 open BEDROCK, '>fred' || die "Cannot open fred: $!"; open BEDROCK, '>fred' || die "Cannot open fred: $!";
 open LOG, '>>:encoding(UTF-8)','logfile'; # for perl >= 5.6 open LOG, '>>:encoding(UTF-8)','logfile'; # for perl >= 5.6
-open my $bedrock, '>:crlf', $file_name; # DOS-formatted output+open BEDROCK, '>:crlf', $file_name; # DOS-formatted output
 binmode STDOUT, ':encoding(UTF-8)';</code> 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.1781301404.txt.gz · Last modified: 2026/06/12 14:56 by 104.255.179.6 · Currently locked by: 216.73.217.75