in reply to Trying to understand hashes (in general)
Hello james28909,
A hash is an associative array, in which data is stored in key/value pairs. For example, in:
my %hash = (Fred => 'Wilma', Barney => 'Betty', Homer => 'Marge');
the keys are Fred, Barney, and Homer, and their corresponding values are Wilma, Betty, and Marge, respectively. Now, in your script, the line:
$dirs{$file} = $file;
adds a new key/value pair to the $dirs hash, and in this pair the key and the value are the same (viz., whatever is stored in $file). This is an unnecessary duplication of the data. It would be more normal in this case to set the value to undef (or possibly 1).
If you do later convert this into a hash of hashes (but you would be better off following GrandFather’s advice and using an array of arrays), then each value will be a reference to an anonymous hash which you create on the fly:
$dirs{$file} = { ... };
You should study the tutorial perldsc (“Perl Data Structures Cookbook”).
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Trying to understand hashes (in general)
by james28909 (Deacon) on Dec 23, 2014 at 06:36 UTC |