As huck has replied, there is no array, only a hash of hashes (of hashes) (update: although formally a "hash" is an associative array etc., etc.); see Perl Data Structures Cookbook (perldsc). Examples of access:
c:\@Work\Perl\monks>perl -wMstrict -le "use Data::Dumper; ;; our %S = ( game => { 'jetfighter4' => { key => 'M3pL73', label => 'JetFighter IV: Fortress America', }, 'projectigi2r' => { key => 'j4F9cY', label => 'IGI2: Covert Strike', port => 26001, }, }, ); ;; print Dumper \%S; ;; print Dumper $S{ 'game' }{ 'jetfighter4' }; ;; print $S{ 'game' }{ 'jetfighter4' }{ 'label' }; " $VAR1 = { 'game' => { 'projectigi2r' => { 'label' => 'IGI2: Covert Str +ike', 'port' => 26001, 'key' => 'j4F9cY' }, 'jetfighter4' => { 'label' => 'JetFighter IV: Fo +rtress America', 'key' => 'M3pL73' } } }; $VAR1 = { 'label' => 'JetFighter IV: Fortress America', 'key' => 'M3pL73' }; JetFighter IV: Fortress America
BTW, the second appearance of %S in your OPed code
our %S = (%S, ... );
definition and initialization statement is puzzling: to what does it refer? There is no other %S in the posted code, and I would expect a warning message of some kind if there were. (You're using strict and warnings, right? Right?) (But see Update 2 below.)
Update 1: I have the impression your OP was recently modified. If so, please see How do I change/delete my post? for site etiquette and protocol regarding such changes. Basic rule: Do Not Destroy Context.
Update 2: Actually, I just tried the code example above with the second %S present (with warnings and strictures enabled) and to my surprise, it doesn't produce a warning or error message! I guess this has to do with its package-global nature. Still, I don't understand its function in the code. Is it previously defined as a lexical (that would work and might even be useful)? In puzzlement...
Give a man a fish: <%-{-{-{-<
In reply to Re: Load file (updated)
by AnomalousMonk
in thread Load file
by CougarXR7
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |