Ah, my example code actually does work.. I had a typo in
the
variable name that I assigned to. Well, looks like
"use strict ;"
is advised
Eric wrote:
> Good day!
>
> It's been a while since I had to do any semi-serious
data structures,
> especially in perl, and I'm having trouble. I never
was a data structure
> wiz but perl seems to make it harder to understand.
Perhaps I'm just
> doing it using one of the TMTOWTDI ways that actually
does not do it!
>
> Here's what's up:
>
> I have a account id with multiple values like this:
>
> FILESYSTEM
> +------- account00
> +------- filename01 --
filenumber01
> +------- filename02 --
filenumber02
> .
> .
> +------- filenameNN --
filenumberNN
> .
> .
> +------- accountNN
>
> Since I want to compare these with a similar structure
> from a database I'd actually have another one:
>
> DATABASE
> +------- account00
> +------- filename01 --
recordnumber01
> +------- filename02 --
recordnumber02
> .
> .
> +------- filenameNN --
recordnumberNN
> .
> .
> +------- accountNN
>
>
> I'll need to compare them by matching the account
numbers, then the
> filenames.
>
> If they match it's okay.
> If there is a file and no database entry then I
create one and
> store the filename and filenumber.
> If there is a database entry and no corresponding
account/filename
> then I delete the file.
>
>
> My idea is to loop over the file information and create
hashes
> like this:
> $ACCOUNTS{$accountnum}{$filename}{"NAME"}
= $filename ;
>
$ACCOUNTS{$accountnum}{$filename}{"NUMBER"} =
$filenumber ;
>
> and this for the database values:
>
$DATABASE{$accountnumber}{$filename}{"RECORDNUMBER"
;} = $recordID ;
>
> I'd want to compare the account numbers and filenames
if they exist.
> How do I see the filename? I can see the account
number like this:
>
> foreach $key ( keys %ACCOUNTS ) {
> print "ACCOUNT is: $key and file name is:
" . $ACCOUNT{$key} ."n" ;
> }
>
> The $key value contains the account number but
$ACCOUNT{$key} won't
> dereference and get the file name. Do I need another
foreach loop
> inside the first one? I tried this:
>
> foreach $key ( keys %ACCOUNT ) {
> foreach $innerkey ( keys %{$ACCOUNT{$key}} ) {
> print "ACCOUNT is: $key and the filename is:
" . $innerkey . "n" ;
> }
> }
>
> That code prints nothing although I know there is data
in there
>
> Insight would be greatly appreciated!
>
> Thanks,
> Eric
--
------------------------------------------------------------
------------
# Eric A Lucas
# "Oh, I have slipped the surly bond of earth
# And danced the skies on laughter-silvered wings...
# -- John Gillespie Magee Jr.
-
**Majordomo list services provided by PANIX <URL:http://www.panix.com>**
**To Unsubscribe, send "unsubscribe phl" to
majordomo lists.pm.org**
|