From: Orhan Sumer (sumero@sumero.com)
Date: Wed 10 May 2006 - 11:39:08 GMT
Selamlar,
Benim asagidaki gibi bir hash tablom bulunuyor. Bunu asagidaki gibi ici icie
iki while dongusu ile islem yaptiriyorum. Dongunu icinde anahtar $MGW_NAME
oldugu icin yeni gelen deger eskisinin uzerine yaziliyor ve eskisi
siliniyor. En asagida Dumper ciktisinda bu acikca belli oluyor. Ayni
anahtardaki farkli bilgileri nasil bir onceki silinmeden ekleme yapabilirim?
Deger tablosu
----------------------------------------------------------------------------
-----------------------------
$MGW_NAME $MGW_IP_ADDRESS $MGW_PORT_NO $MGW_DESCRIPTION
Papatya 192.168.1.134 0/1 papatyanin
ilk baglantisi
Papatya 192.168.1.134 0/2 papatyanin
son baglantisi
Gul 192.168.2.54 0/1 Gulun ilk
baglantisi
Menekse 192.168.3.67 0/3 meneksenin ilk
baglantisi
----------------------------------------------------------------------------
-----------------------------
my %mgw;
my %mgw_add;
.......
.......
.......
while ((my $MGW_NAME, my
$MGW_IP_ADDRESS)=$get_mgw_IPAdd_name->fetchrow_array){
while ((my $PORT_ID, my $MGW_PORT_NO, my
$MGW_DESCRIPTION)=$get_mgw_portno_descripton->fetchrow_array){
%mgw_add =
(
$MGW_NAME =>
{
IP => $MGW_IP_ADDRESS,
PORTS =>
[
{
NUMBER => $MGW_PORT_NO,
DESCRIPTION => $MGW_DESCRIPTION,
},
],
},
);
%mgw=(%mgw,%mgw_add);
}#ikinci while
}#ilk while
print Dumper (%mgw);
----------------------------------------------------------------------------
----------------------------------------------------------------------------
------------------------------
Dumper ciktisi
$VAR1 = {
'Papatya' => {
'PORTS' => [
{
'DESCRIPTION' => 'papatyanin son
baglantisi',
'NUMBER' => '0/2'
}
],
'IP' => '192.168.1.134'
},
'Gul'=> {
'PORTS' => [
{
'DESCRIPTION' => 'Gulun ilk
baglantisi',
'NUMBER' => '0/1'
}
],
'IP' => '192.168.2.54'
},
'Menekse' => {
'PORTS' => [
{
'DESCRIPTION' => 'meneksenin ilk
baglantisi',
'NUMBER' => '0/3'
}
],
'IP' => '192.168.3.67'
}
};
Orhan Sumer
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama