- 01Setting up (what you'll need)
- 02Your first output (print)
- 03Variables (scalar variables, $)
- 04Branching (the if statement)
- 05Repeating (the for loop)
- 06Writing a subroutine (a function)
- 07Repeating (the while loop)
- 08Working with arrays (@)
- 09Working with hashes (%)
- 10Regular expression matching
- 11Substitution with regular expressions (s///)
- 12Working with strings
- 13References
- 14Anonymous subroutines
- 15File input and output, the basics
- 16Modules and use strict / warnings
- 17The ternary operator
- 18Sorting (sort)
- 19Packages and the basics of object orientation
- 20[Project] Build a small inventory system
Working with hashes (%)
This lesson covers the hash, which manages data as key-value pairs.
A hash is declared as %name and corresponds to a dictionary or associative array in other languages. To take a single value out you write $name{key}.
The sample code builds a hash of products and prices — my %prices = ("apple" => 100, "orange" => 80); — and reads a value out with $prices{"apple"}.
A common early stumble is again the changing sigil: %prices for the hash as a whole, $prices{...} for a value. As with arrays, holding on to "% for the whole thing, $ for one value" makes it click.
In professional work, hashes come up constantly for managing configuration values and for grouping aggregated results by key.
๐งช This site can't compile or run Perl directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
