LogIn E-mail
설계이야기
package JARRAY JHASH
# 9 JMJS    00.7.4 13:22

#!/usr/local/bin/perl

#------------------------------------------------------------------------------#
package JARRAY;
#------------------------------------------------------------------------------#
sub new {
        my ($class, @data) = @_;
        my $ref = [];
        bless $ref, $class;
        if( @data ) { $ref->add(@data); }
        return $ref;
}
sub add { my ($ref, @data) = @_; push(@$ref,@data); }
sub list { my ($ref) = @_; return (@$ref); }
sub print_list {
        my ($ref,$tab) = @_;
        $tab2 = $tab." ";
        print "$tab$ref = (";
        foreach $alist ( @$ref ) {
                if( ref($alist) eq "SCALAR" ) {
                        print "$alist ";
                }
                elsif( ref($alist) eq "HASH" ) {
                        jhash::print_list($alist,$tab2);
                }
                elsif( ref($alist) eq "ARRAY" ) {
                        &print_list($alist,$tab2);
                }
                else {        $alist->print_list($tab2); }
        }
        print "$tab)\n";
}
sub print_list_hash { my ($ref,$tab) = @_; }

#------------------------------------------------------------------------------#
package JHASH;
#------------------------------------------------------------------------------#
sub new {
        my ($class, @data) = @_;
        my $ref = {};
        bless $ref, $class;
        $ref->add(@data);
        return $ref;
}
sub add {
        my ($ref, @data) = @_;
        %$ref = (%$ref,@data);
}
sub print_list {
        my ($ref,$tab) = @_;
        $tab2 = $tab." ";
        print "$tab$ref = (\n";
        foreach $key (keys %$ref) {
                print "$tab2$key=>";
                jarray::print_list(%$ref->{$key},$tab);
                print "\n";
        }
        print "$tab)\n";
}

1;

게시물: 100 건, 현재: 1 / 2 쪽
번호 제       목 작성자 등록일 방문
100  jsame.pl JMJS 09.5.21 1318
99  jos.pl JMJS 08.11.29 1146
98  jmngr.pl - jmjspro manager JMJS 08.11.29 1188
97  vhdl.pm JMJS 08.11.29 1158
96  jreg.pl JMJS 08.11.29 1171
95  jtree.pm JMJS 08.11.29 1167
94  w2c.pl JMJS 08.11.29 1188
93  jdread.pl JMJS 08.11.29 1031
92  ffile.zip ffilediff.pl JMJS 09.4.24 1074
91  rgb2ycbcr.pl JMJS 10.5.12 1225
90  proview.pl JMJS 08.11.29 1310
89  smi_shift.pl JMJS 10.10.3 1038
88  srt2smi.pl srtshift.pl JMJS 18.7.14 1183
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 865
86  opendir, readdir, closedir JMJS 08.10.12 1134
85  tr a-z A-Z JMJS 08.10.3 951
84  JARRAY->jfunc JMJS 08.10.2 953
83  수치함수 - ... JMJS 09.5.7 1294
82  역행렬3x3 JMJS 09.5.7 1443
81  hex2int.pl JMJS 10.9.12 2121
80  stat - file status 보기 JMJS 07.12.16 1006
79  Perl Tip JMJS 09.7.20 1939
78  SMI file sync delay JMJS 07.7.18 1146
77  rmword.pl JMJS 07.6.18 1043
76  [Perl]package AP jinsung 07.2.28 985
75  [Perl]read_dir.pl JMJS 07.2.22 1206
74  [Perl]jtab2char - tab문자를 특정 char로 바꿔주기 JMJS 07.2.22 1133
73  Perl 숫자 Sorting JMJS 11.5.17 1276
72  [CGI]GET and POST JMJS 06.11.20 2472
71  Perl Grammer JMJS 06.9.4 2023
70  표준 모듈 JMJS 06.8.10 1429
69  Getopt::Long example JMJS 06.8.10 1626
68  array of array JMJS 06.4.22 1049
67  [HTML]테이블 배경에 그림넣기 JMJS 06.3.8 1148
66  l2w.pm - line to word JMJS 08.12.1 1107
65  make_random_chars JMJS 05.8.10 989
64  mail 보내는 script JMJS 05.3.23 983
63  실행파일을 실행시키고 표준에러 읽기 JMJS 09.2.25 954
62  팝업창(공지창)띄우기 Jinsung 03.12.16 1855
61  print <<ENDLINE JMJS 03.12.5 1036
60  [HTML]Target JMJS 03.5.21 1071
59  [Perl]jutil.pm JMJS 03.5.3 1162
58  [Perl]jdiff.pl JMJS 02.6.6 1209
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 1234
56  [HTML]자동으로 다른 페이지 이동 JMJS 02.1.19 1137
55  Perl 설치하기 - ActiveWare JMJS 02.1.16 1090
54  opendir , readdir , closedir JMJS 02.1.4 1139
53  rand_diff JMJS 01.10.23 1027
52  vcd2v.pl JMJS 15.8.25 1135
51  file upload JMJS 01.3.16 1023
50  umask(070) <- chmod o-rwx 진성 01.3.16 1210
49  head2index 진성 01.3.15 933
48  grep.pl JMJS 11.1.20 1025
47  chr(13) = \M 진성 01.3.15 952
46  stty JMJS 01.3.12 1040
45  des.pl JMJS 01.3.8 946
44  chr_plus.pl JMJS 01.3.8 973
43  test JMJS 09.7.20 890
42  test JMJS 09.7.20 1081
41  test JMJS 09.7.20 910
40  vec JMJS 01.3.8 1118
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1027
38  [Perl Tk] 도스창 없이, 펄 Tk 스크립트 실행하기; ... JMJS 17.9.30 958
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1086
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1100
35  mkmm.pl - make freemind JMJS 12.5.22 1100
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1112
33  .xls output csv 파일에 \n "가 있을때 JMJS 11.4.13 1018
32  jdcat.pl juncat.pl JMJS 11.2.24 1117
31  print chr(ord('a')); JMJS 01.3.8 1050
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 990
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1071
28  remove blank $abc =~ s/[\s]+//g; JMJS 00.11.15 1023
27  array and for JMJS 00.11.14 897
26  홈페이지 자동 이동 JMJS 00.10.28 963
25  html에서 쓰이는 기호표시방법 JMJS 00.9.30 908
24  배열의 범위 연산자 JMJS 00.9.20 1118
23  for(1..3) { print "$_";} JMJS 09.4.24 926
22  package JMJS 00.9.18 946
21  줄에서 한글자 고치기 JMJS 00.8.7 999
20  hotkey function by getc JMJS 00.7.21 1056
19  read, sysread, syswrite JMJS 00.7.21 1843
18  crypt JMJS 00.7.13 1070
17  csv2gan.pl JMJS 11.4.4 1206
16  hexa JMJS 00.7.7 1050
15  file in out.pl JMJS 00.7.5 1177
14  ARGV JMJS 00.7.5 1063
13  jtime.pm - localtime, timelocal JMJS 09.4.9 1424
12  @INC JMJS 00.7.5 1389
11  $#myarray JMJS 00.7.5 1130
10  Hash of Array JMJS 00.7.5 976
9  package JARRAY JHASH JMJS 00.7.4 1091
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 1132
7  치환 전이 JMJS 00.7.4 967
6  file lock JMJS 00.7.4 1056
5  gettime JMJS 00.7.4 1060
4  [Perl]jcdread.pl JMJS 00.7.4 1136
3  [Perl]jdread.pl JMJS 00.7.4 1011
2  Hash Example JMJS 00.6.27 1051
1  DESTROY JMJS 09.7.20 1007
[1] [2]