我是perl的新手,但到目前为止,我到目前为止还需要完成我需要的所有工作.
我有一个格式如下的文件:
#IPAAS
@NX_iPaaS_AuthKey=dGstaG9zaGlub0BqcCasdpasdHN1LmNvbTppUGFhUzAw
@NX_iPaaS_href=live/661134565/process/75231
我想读取每个与@NX_iPaaS开始进入一个类似命名的变线,如@NX_iPaaS_AuthKey将创建一个名为$ NX_IPAAS_AUTHKEY新的变量和保持价值,NX_iPaaS_href会导致一个名为$ NX_IPAAS_HREF与价值等新变量上?
--Update--
嘿伙计们,我需要对上述解决方案进行微调......
所以我刚刚发现我正在阅读的文件将包含"部分",例如
----- SECTION=cr 
NX_NTF_PERSISTENT_ID=cr:400017 
NX_NTF_REF_NUM=45 
----- SECTION=cnt 
NX_NTF_PERSISTENT_ID=cnt:F9F342055699954C93DE36923835A182 
您可以看到其中一个变量出现在两个部分中(因为我没有'next,除非已定义')导致前一个值被覆盖.有没有办法在NX_NTF_变量名称前加上每个部分顶部'section ='行提供的值?
谢谢
好的做法是使用哈希.
my %hash;
while (<>) {
    chomp;
    my ($key, $value) = split /=/;
    next unless defined $value;
    $hash{$key} = $value;
}
为什么使用变量变量名称不是一个好主意,请参阅为什么"使用变量作为变量名称"这是多么愚蠢.