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 592
114  perl -p -i -e s/abc/def/g JMJS 24.3.26 446
113  Deleting from a Hash , defined , exists JMJS 25.7.9 563
112  yaml file Àбâ JMJS 23.11.30 667
111  alzipcon JMJS 22.11.26 688
110  file2date.pl JMJS 24.6.1 778
109  UTF-8, EUC-KR JMJS 19.12.15 816
108  wget.pl LWP Simple get JMJS 19.9.17 817
107  X JMJS 19.9.17 794
106  X JMJS 19.9.17 808
105  X JMJS 19.9.17 809
104  X JMJS 19.9.17 822
103  X JMJS 19.9.17 796
102  X JMJS 19.9.17 800
101  gnome-terminal JMJS 25.7.3 808
100  jsame.pl JMJS 09.5.21 2438
99  jos.pl JMJS 08.11.29 2068
98  jmngr.pl - jmjspro manager JMJS 08.11.29 2083
97  vhdl.pm JMJS 08.11.29 1925
96  jreg.pl JMJS 08.11.29 2052
95  jtree.pm JMJS 08.11.29 1961
94  w2c.pl JMJS 08.11.29 2079
93  jdread.pl JMJS 08.11.29 1846
92  ffile.zip ffilediff.pl JMJS 09.4.24 1873
91  rgb2ycbcr.pl JMJS 10.5.12 2142
90  proview.pl JMJS 08.11.29 2172
89  smi_shift.pl JMJS 10.10.3 1883
88  srt2smi.pl srtshift.pl JMJS 18.7.14 2076
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 1680
86  hash JMJS 24.6.22 1985
85  tr a-z A-Z ġȯ , ´ë¼Ò¹®ÀÚ º¯È¯ , ¹®ÀÚ¿­ Á¶°Ç , ... JMJS 24.6.22 1641
84  JARRAY->jfunc JMJS 08.10.2 1787
83  ¼öÄ¡ÇÔ¼ö - ... JMJS 09.5.7 2209
82  ¿ªÇà·Ä3x3 JMJS 09.5.7 2449
81  hex2int.pl JMJS 10.9.12 2867
80  stat - file status º¸±â JMJS 07.12.16 1894
79  Perl Tip JMJS 24.6.22 2914
78  SMI file sync delay JMJS 07.7.18 1982
77  rmword.pl JMJS 07.6.18 1914
76  pack unpack JMJS 24.6.22 2005
75  [Perl]read_dir.pl JMJS 07.2.22 2226
74  [Perl]jtab2char - tab¹®ÀÚ¸¦ ƯÁ¤ char·Î ¹Ù²ãÁÖ±â JMJS 07.2.22 2089
73  Perl ¼ýÀÚ Sorting JMJS 11.5.17 2107
72  [CGI]GET and POST JMJS 06.11.20 3676
71  Perl Grammer JMJS 06.9.4 3269
70  Ç¥ÁØ ¸ðµâ JMJS 06.8.10 2272
69  Getopt::Long example JMJS 06.8.10 2302
68  array of array JMJS 06.4.22 1902
67  [HTML]Å×ÀÌºí ¹è°æ¿¡ ±×¸²³Ö±â JMJS 06.3.8 1991
66  l2w.pm - line to word JMJS 08.12.1 2035
65  make_random_chars JMJS 05.8.10 1782
64  mail º¸³»´Â script JMJS 05.3.23 1786
63  ½ÇÇàÆÄÀÏÀ» ½ÇÇà½Ã۰í Ç¥ÁØ¿¡·¯ Àбâ JMJS 09.2.25 1815
62  ÆË¾÷â(°øÁöâ)¶ç¿ì±â Jinsung 03.12.16 2775
61  print <<ENDLINE JMJS 03.12.5 1790
60  [HTML]Target JMJS 03.5.21 1957
59  [Perl]jutil.pm JMJS 03.5.3 2015
58  [Perl]jdiff.pl JMJS 02.6.6 2080
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 2046
56  [HTML]ÀÚµ¿À¸·Î ´Ù¸¥ ÆäÀÌÁö À̵¿ JMJS 02.1.19 1955
55  STDIN file open glob -w warning JMJS 24.6.22 2018
54  opendir , readdir , closedir JMJS 24.6.22 1946
53  rand_diff JMJS 01.10.23 1900
52  vcd2v.pl JMJS 15.8.25 1768
51  file upload JMJS 24.6.22 1894
50  umask(070) <- chmod o-rwx Áø¼º 01.3.16 2062
49  head2index Áø¼º 01.3.15 1722
48  grep.pl JMJS 11.1.20 1862
47  chr(13) = \M Áø¼º 01.3.15 1746
46  stty JMJS 01.3.12 1828
45  des.pl JMJS 01.3.8 1655
44  chr_plus.pl JMJS 01.3.8 1802
43  get passwd in unix JMJS 19.8.18 1699
42  unsort JMJS 19.9.10 2140
41  read from website web JMJS 19.5.15 1634
40  vec JMJS 01.3.8 1943
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1750
38  [Perl Tk] µµ½ºÃ¢ ¾øÀÌ, ÆÞ Tk ½ºÅ©¸³Æ® ½ÇÇàÇϱâ; ... JMJS 17.9.30 1819
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1890
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1899
35  mkmm.pl - make freemind JMJS 12.5.22 1904
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1915
33  .xls output csv ÆÄÀÏ¿¡ \n "°¡ ÀÖÀ»¶§ JMJS 11.4.13 1865
32  jdcat.pl juncat.pl JMJS 11.2.24 1997
31  print chr(ord('a')); JMJS 01.3.8 1877
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 1818
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1763
28  remove blank $abc =~ s/[\s]+//g; Á¤±ÔÇ¥Çö½Ä ... JMJS 25.7.16 1760
27  array and for JMJS 00.11.14 1679
26  È¨ÆäÀÌÁö ÀÚµ¿ À̵¿ JMJS 00.10.28 1782
25  html¿¡¼­ ¾²ÀÌ´Â ±âȣǥ½Ã¹æ¹ý JMJS 00.9.30 1536
24  ¹è¿­ÀÇ ¹üÀ§ ¿¬»êÀÚ JMJS 00.9.20 1994
23  for(1..3) { print "$_";} JMJS 09.4.24 1685
22  package JMJS 24.6.22 1739
21  ÁÙ¿¡¼­ ÇѱÛÀÚ °íÄ¡±â JMJS 00.8.7 1740
20  hotkey function by getc JMJS 00.7.21 1735
19  read, sysread, syswrite JMJS 00.7.21 2753
18  crypt JMJS 00.7.13 2021
17  csv2gan.pl JMJS 11.4.4 2036
16  hexa JMJS 24.6.18 1830
15  file in out.pl JMJS 00.7.5 1956
14  ARGV JMJS 00.7.5 1864
13  jtime.pm - localtime, timelocal JMJS 09.4.9 2219
12  @INC JMJS 00.7.5 2258
11  $#myarray JMJS 00.7.5 2034
10  Hash of Array JMJS 00.7.5 1800
9  package JARRAY JHASH JMJS 00.7.4 2162
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 2039
7  base64 enc dec binary JMJS 25.6.30 1857
6  file lock JMJS 00.7.4 1949
5  gettime JMJS 00.7.4 2172
4  [Perl]jcdread.pl JMJS 00.7.4 2022
3  [Perl]jdread.pl JMJS 00.7.4 1862
2  Monti Hall problem JMJS 24.6.27 1879
1  DESTROY JMJS 09.7.20 1904
[1]