解释AppConfig 出来的结果

解释AppConfig 出来的结果

运行以下perl 代码,为什么value 里数组的第一个值都为1?
找不到答案, 如
'map_code2reportcode_2202' => [
                                          1,
                                          'SMS-MT-MT    2       122303',
                                          'SMS-MT-ACK-ST        2       122303',
                                          'SMS-MT-ACK-OT        2       122304'
                                        ],
我认为数组的一个值1应该没有, 谁来解释一下,


#!/usr/bin/perl
use AppConfig qw(:expand :argcount);
use Data:umper;
sub getReasonmapDefs() {
        my ( $aRef, $i, $cRef );
        my $oResonmapConfig = AppConfig->new(
                {
                        CREATE => 1,
                        GLOBAL => {
                                DEFAULT  => '',
                                ARGCOUNT =>2 # ARGCOUNT_LIST
                        }
                }
        );

        
        $oResonmapConfig->file( "code.conf";
        %hResonmapConfig = $oResonmapConfig->varlist('.*');
                                print Dumper(\%hResonmapConfig);

}
&getReasonmapDefs;
1;


结果:

$VAR1 = {
          'map_code2reportcode_4104' => [
                                          1,
                                          'SMS-MT-MT    2       122999'
                                        ],
          'map_code2reportcode_2202' => [
                                          1,
                                          'SMS-MT-MT    2       122303',
                                          'SMS-MT-ACK-ST        2       122303',
                                          'SMS-MT-ACK-OT        2       122304'
                                        ],
          'map_reportcode2text_0' => [
                                       1,
                                       'Subscription successfully established'
                                     ],
          'map_reportcode2text_107' => [
                                         1,
                                         'SubscriptionID already in process'
                                       ],
          'map_code2reportcode_1306' => [
                                          1,
                                          'SMS-MT-ACK   2       122300'
                                        ]
        };

=============================
Config FIle:

#code.conf
#--------------
[MAP_CODE2REPORTCODE]
#------- paymentAuthorize
#-- for MT messages
4104=   SMS-MT-MT       2       122999
2202=   SMS-MT-MT       2       122303
2202=   SMS-MT-ACK-ST   2       122303
2202=   SMS-MT-ACK-OT   2       122304
1306=   SMS-MT-ACK      2       122300

[MAP_REPORTCODE2TEXT]
0=      Subscription successfully established
107=    SubscriptionID already in process
> 我认为数组的一个值1应该没有, 谁来解释一下
说说你的理由。
本以为这个1是没有的
可是结果打印出来了,又不知道为什么会有这个1
ARGCOUNT_LIST 只是把相同key的值做位List加入
比如key 2202, 想想只要把 'SMS-MT-MT    2       122303',
                                          'SMS-MT-ACK-ST        2       122303',
                                          'SMS-MT-ACK-OT        2       122304'
这几个值放到数组里面就可以了,可是多了个1

map_code2reportcode_2202' => [
                                         1,
                                          'SMS-MT-MT    2       122303',
                                          'SMS-MT-ACK-ST        2       122303',
                                          'SMS-MT-ACK-OT        2       122304'
                                        ],


QUOTE:
原帖由 tony9427 于 2007-12-4 15:36 发表
本以为这个1是没有的

为什么你会认为这个 1 是没有的呢?
因为我不知道这个1的含义


QUOTE:
原帖由 tony9427 于 2007-12-4 15:49 发表
因为我不知道这个1的含义

不知道就应该是没有的吗?
你打印出来的是 AppConfig 的内部数据结构,
你不知道它的含义,不要去理它就好了嘛。
perldoc AppConfig 一下,找到你需要的内容就行了。


QUOTE:
原帖由 放驴娃 于 2007-12-4 16:14 发表

不知道就应该是没有的吗?
你打印出来的是 AppConfig 的内部数据结构,
你不知道它的含义,不要去理它就好了嘛。
perldoc AppConfig 一下,找到你需要的内容就行了。

只是好奇而已,你知道它的含义,说出来分享一下阿


QUOTE:
原帖由 tony9427 于 2007-12-4 16:25 发表

只是好奇而已,你知道它的含义,说出来分享一下阿

呵呵,我也不知道。我要是想知道的话,我会去看源码。
说实在,还没看过源代码呢