[Linux-programlama] perl'de hash'de ayni key ile farkli deger girilmesi

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

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


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.