the @hashname{@keys_for_the_hash} = @values_for_those_keys notation is a hash slice which you can read more about in perldoc perldata and from which I quote:
Entire arrays (and slices of arrays and hashes) are denoted by '@', wh
+ich works much like the word "these" or "those" does in English, in t
+hat it indicates multiple values are expected.
@days # ($days[0], $days[1],... $days[n])
@days[3,4,5] # same as ($days[3],$days[4],$days[5])
@days{'a','c'} # same as ($days{'a'},$days{'c'})
Entire hashes are denoted by '%':
%days # (key1, val1, key2, val2 ...)
In answer to your second question about storing the song titles in a file - yes you can just have a subroutine that dumps all of the keys to the file overwriting the old list but is there a better way (read: more convenient for you)? If you do not need the file to be human-readable (i.e. you don't look through it yourself) then you might consider using a DBM - basically a perl hash operating out of a file.You can read more here.
Hope this helps,
larryk
perl -le "s,,reverse killer,e,y,rifle,lycra,,print"
Will code for food - looking for work - London - CV
|