Sto cercando di capire come funziona veramente il modulo DBM::Deep

Con questo codice scrivo il DB:

codice:
#!/usr/bin/perl

use strict;
use warnings;
use diagnostics;
use CGI::Carp "fatalsToBrowser";

use lib '.';
use DBM::Deep;

my $db = new DBM::Deep "data.db";

my $myhash = "Zlatan";

$db->{$myhash}->{name} = "Zlatan";
$db->{$myhash}->{age} = "22";

print "Content-type: text/html","\n\n";
print "ok!\n

";

exit(0);
e con questo lo leggo:

codice:
#!/usr/bin/perl

use strict;
use warnings;
use diagnostics;
use CGI::Carp "fatalsToBrowser";

use lib '.';
use DBM::Deep;

my $db = new DBM::Deep "data.db";

my $myhash = "Zlatan";

my $nome = $db->{$myhash}->{name};
my $eta = $db->{$myhash}->{age};

print "Content-type: text/html","\n\n";
print "ok!\n
$nome
$eta
";

exit(0);
quando eseguo la lettura ottengo i valori giusti: zlatan e 22

ma se in quest'ultimo codice al posto di my $myhash = "Zlatan"; metto my $myhash = "marameo";

mi continua a dare ancora: zlatan e 22

ma perchè??????

Qualcuno sa aiutarmi con questo modulo??

Grazie...