in reply to hashes frustration

I am currently reading about the Perl DBI module, and the first chapter explained about the Berkley DB_File and tieing hashes to a file. I followed the example from the book and succesfully got it working. However I then wrote a method that would return a particular part of a string thus (main parts of code)
my $db = tie %database, 'DB_File', "simpleinsert.dat",O_CREAT | O_RDWR +, 0666 or die "Cannot initialise database"; $database{'anthony1'}=new contacts_db('anthony', 'ant@hot', '14 road', '102892', '34567')->pack();
I can then access the name by
my $person = new contacts_db($database{'anthony1'}); $person->unpack_name();
this then returns 'anthony'.

but if i put

nothing is brought back, why??????????
   I am a superhero.