PDA

Просмотр полной версии : perl DBM файлы !


malik555
11.06.2009, 17:34
Всем привет!

Подскажите почему у меня не получается засунуть в один хеш другой хеш



#!/usr/bin/perl

use DB_File;

$db = "user.db";
tie(%db, 'DB_File',$db);

%ss = ('aaa'=>"ffffffff");

$db{user} = \%ss;

print $db{user}{aaa};

demond
18.06.2009, 12:53
Всем привет!

Подскажите почему у меня не получается засунуть в один хеш другой хеш



#!/usr/bin/perl

use DB_File;

$db = "user.db";
tie(%db, 'DB_File',$db);

%ss = ('aaa'=>"ffffffff");

$db{user} = \%ss;

print $db{user}{aaa};



Скорее всего потому что ты скопировал адрес хеша ss, а не сам хеш:
#!/usr/bin/perl
use DB_File;
$\ = $/;
$db = "user.db";
tie(%db, 'DB_File',$db);
%ss = ('aaa'=>"ffffffff");
$db{user} = \%ss;
print "\%ss = ".\%ss;
print "%db = ";
print "\t".$_."->".$db{$_} foreach (keys %db);
print $db{user};
print $ss{aaa};
print $db{user}->{aaa};
print $_ foreach (keys %{$db{user}});
print "-----";