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 [2013/09/15 03:16]
smthng [Input/Output]
notes:perl_cheat_sheet [2013/09/22 19:28] (current)
smthng [Hashes]
Line 61: Line 61:
   * 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 =====
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki