LogIn E-mail
¼³°èÀ̾߱â
Hash of Array
# 10 JMJS    00.7.5 09:49

%cat hash_of_array.pl
#!/usr/bin/perl -U
#==============================================================================#
package main;
#==============================================================================#
local $items = new JMJSITEM ("fruit","car");

$items->{"fruit"}->add("apple","banana","tomato");
$items->{"car"}->add("Hyundai","Daewoo","Kia");
print "items:";
$items->print_item();

exit 0;

#==============================================================================#
package JMJSITEM;
#==============================================================================#
#------------------------------------------------------------------------------#
sub new {
#------------------------------------------------------------------------------#
        my ($class, @data) = @_;

        my $ref = {};
        bless $ref, $class;

        while(@data) {
                $jmjsitem = new JMJSLIST;
                %$ref=(%$ref,$data[0],$jmjsitem);
                shift(@data);
        }

        return $ref;
}

#------------------------------------------------------------------------------#
sub print_item {
#------------------------------------------------------------------------------#
        my ($ref) = @_;

        print "${ref}\>\n";
        foreach $key (keys %$ref) {
                print "   $key:";
                $ref->{$key}->print_list("   ");
        }
}


#==============================================================================#
package JMJSLIST;
#==============================================================================#
#------------------------------------------------------------------------------#
sub new {
#------------------------------------------------------------------------------#
        my ($class, @data) = @_;
        my $ref = [];
        bless $ref, $class;
        if(@data) {$ref->add(@data);}
        return $ref;
}

#------------------------------------------------------------------------------#
sub add {
#------------------------------------------------------------------------------#
        my ($ref, @data) = @_;
        @$ref=(@$ref,@data);
}

#------------------------------------------------------------------------------#
sub print_list {
#------------------------------------------------------------------------------#
        my ($ref,$tab) = @_;
        print "$ref\>\n$tab=(";
        print join(",\n$tab",@$ref);
        print ")\n";
        return 1;
}

exit 0;

%perl hash_of_array.pl
items:JMJSITEM=HASH(0x77d064)>
   fruit:JMJSLIST=ARRAY(0x77d094)>
   =(apple,
   banana,
   tomato)
   car:JMJSLIST=ARRAY(0x770b20)>
   =(Hyundai,
   Daewoo,
   Kia)
%

°Ô½Ã¹°: 115 °Ç, ÇöÀç: 1 / 1 ÂÊ
¹øÈ£ Á¦       ¸ñ ÀÛ¼ºÀÚ µî·ÏÀÏ ¹æ¹®
115  perl format JMJS 24.6.22 397
114  perl -p -i -e s/abc/def/g JMJS 24.3.26 378
113  Deleting from a Hash , defined , exists JMJS 25.7.9 426
112  yaml file Àбâ JMJS 23.11.30 459
111  alzipcon JMJS 22.11.26 512
110  file2date.pl JMJS 24.6.1 631
109  UTF-8, EUC-KR JMJS 19.12.15 622
108  wget.pl LWP Simple get JMJS 19.9.17 647
107  X JMJS 19.9.17 606
106  X JMJS 19.9.17 619
105  X JMJS 19.9.17 633
104  X JMJS 19.9.17 630
103  X JMJS 19.9.17 618
102  X JMJS 19.9.17 598
101  gnome-terminal JMJS 25.7.3 630
100  jsame.pl JMJS 09.5.21 2158
99  jos.pl JMJS 08.11.29 1859
98  jmngr.pl - jmjspro manager JMJS 08.11.29 1908
97  vhdl.pm JMJS 08.11.29 1848
96  jreg.pl JMJS 08.11.29 1868
95  jtree.pm JMJS 08.11.29 1891
94  w2c.pl JMJS 08.11.29 1906
93  jdread.pl JMJS 08.11.29 1654
92  ffile.zip ffilediff.pl JMJS 09.4.24 1721
91  rgb2ycbcr.pl JMJS 10.5.12 2015
90  proview.pl JMJS 08.11.29 2077
89  smi_shift.pl JMJS 10.10.3 1712
88  srt2smi.pl srtshift.pl JMJS 18.7.14 1908
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 1580
86  hash JMJS 24.6.22 1824
85  tr a-z A-Z ġȯ , ´ë¼Ò¹®ÀÚ º¯È¯ , ¹®ÀÚ¿­ Á¶°Ç , ... JMJS 24.6.22 1590
84  JARRAY->jfunc JMJS 08.10.2 1618
83  ¼öÄ¡ÇÔ¼ö - ... JMJS 09.5.7 2096
82  ¿ªÇà·Ä3x3 JMJS 09.5.7 2184
81  hex2int.pl JMJS 10.9.12 2820
80  stat - file status º¸±â JMJS 07.12.16 1725
79  Perl Tip JMJS 24.6.22 2845
78  SMI file sync delay JMJS 07.7.18 1801
77  rmword.pl JMJS 07.6.18 1739
76  pack unpack JMJS 24.6.22 1724
75  [Perl]read_dir.pl JMJS 07.2.22 1981
74  [Perl]jtab2char - tab¹®ÀÚ¸¦ ƯÁ¤ char·Î ¹Ù²ãÁÖ±â JMJS 07.2.22 1929
73  Perl ¼ýÀÚ Sorting JMJS 11.5.17 1974
72  [CGI]GET and POST JMJS 06.11.20 3594
71  Perl Grammer JMJS 06.9.4 3188
70  Ç¥ÁØ ¸ðµâ JMJS 06.8.10 2123
69  Getopt::Long example JMJS 06.8.10 2253
68  array of array JMJS 06.4.22 1731
67  [HTML]Å×ÀÌºí ¹è°æ¿¡ ±×¸²³Ö±â JMJS 06.3.8 1802
66  l2w.pm - line to word JMJS 08.12.1 1826
65  make_random_chars JMJS 05.8.10 1644
64  mail º¸³»´Â script JMJS 05.3.23 1617
63  ½ÇÇàÆÄÀÏÀ» ½ÇÇà½Ã۰í Ç¥ÁØ¿¡·¯ Àбâ JMJS 09.2.25 1645
62  ÆË¾÷â(°øÁöâ)¶ç¿ì±â Jinsung 03.12.16 2674
61  print <<ENDLINE JMJS 03.12.5 1720
60  [HTML]Target JMJS 03.5.21 1753
59  [Perl]jutil.pm JMJS 03.5.3 1949
58  [Perl]jdiff.pl JMJS 02.6.6 1914
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 1909
56  [HTML]ÀÚµ¿À¸·Î ´Ù¸¥ ÆäÀÌÁö À̵¿ JMJS 02.1.19 1754
55  STDIN file open glob -w warning JMJS 24.6.22 1822
54  opendir , readdir , closedir JMJS 24.6.22 1796
53  rand_diff JMJS 01.10.23 1701
52  vcd2v.pl JMJS 15.8.25 1718
51  file upload JMJS 24.6.22 1701
50  umask(070) <- chmod o-rwx Áø¼º 01.3.16 1881
49  head2index Áø¼º 01.3.15 1595
48  grep.pl JMJS 11.1.20 1695
47  chr(13) = \M Áø¼º 01.3.15 1552
46  stty JMJS 01.3.12 1679
45  des.pl JMJS 01.3.8 1612
44  chr_plus.pl JMJS 01.3.8 1639
43  get passwd in unix JMJS 19.8.18 1504
42  unsort JMJS 19.9.10 1797
41  read from website web JMJS 19.5.15 1527
40  vec JMJS 01.3.8 1798
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1669
38  [Perl Tk] µµ½ºÃ¢ ¾øÀÌ, ÆÞ Tk ½ºÅ©¸³Æ® ½ÇÇàÇϱâ; ... JMJS 17.9.30 1667
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1737
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1800
35  mkmm.pl - make freemind JMJS 12.5.22 1757
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1760
33  .xls output csv ÆÄÀÏ¿¡ \n "°¡ ÀÖÀ»¶§ JMJS 11.4.13 1679
32  jdcat.pl juncat.pl JMJS 11.2.24 1807
31  print chr(ord('a')); JMJS 01.3.8 1718
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 1640
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1716
28  remove blank $abc =~ s/[\s]+//g; Á¤±ÔÇ¥Çö½Ä ... JMJS 25.7.16 1647
27  array and for JMJS 00.11.14 1516
26  È¨ÆäÀÌÁö ÀÚµ¿ À̵¿ JMJS 00.10.28 1609
25  html¿¡¼­ ¾²ÀÌ´Â ±âȣǥ½Ã¹æ¹ý JMJS 00.9.30 1493
24  ¹è¿­ÀÇ ¹üÀ§ ¿¬»êÀÚ JMJS 00.9.20 1843
23  for(1..3) { print "$_";} JMJS 09.4.24 1535
22  package JMJS 24.6.22 1569
21  ÁÙ¿¡¼­ ÇѱÛÀÚ °íÄ¡±â JMJS 00.8.7 1648
20  hotkey function by getc JMJS 00.7.21 1681
19  read, sysread, syswrite JMJS 00.7.21 2594
18  crypt JMJS 00.7.13 1882
17  csv2gan.pl JMJS 11.4.4 1875
16  hexa JMJS 24.6.18 1687
15  file in out.pl JMJS 00.7.5 1864
14  ARGV JMJS 00.7.5 1718
13  jtime.pm - localtime, timelocal JMJS 09.4.9 2170
12  @INC JMJS 00.7.5 2069
11  $#myarray JMJS 00.7.5 1818
10  Hash of Array JMJS 00.7.5 1632
9  package JARRAY JHASH JMJS 00.7.4 1938
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 1875
7  base64 enc dec binary JMJS 25.6.30 1657
6  file lock JMJS 00.7.4 1771
5  gettime JMJS 00.7.4 1838
4  [Perl]jcdread.pl JMJS 00.7.4 1845
3  [Perl]jdread.pl JMJS 00.7.4 1713
2  Monti Hall problem JMJS 24.6.27 1714
1  DESTROY JMJS 09.7.20 1691
[1]