【发布时间】:2013-02-19 21:59:12
【问题描述】:
我对 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 的新变量并带有一个值等等?
--更新--
大家好,我需要对上述解决方案稍作调整......
所以我刚刚发现我正在阅读的文件会有“部分”,例如
----- SECTION=cr
NX_NTF_PERSISTENT_ID=cr:400017
NX_NTF_REF_NUM=45
----- SECTION=cnt
NX_NTF_PERSISTENT_ID=cnt:F9F342055699954C93DE36923835A182
您可以看到其中一个变量出现在两个部分中,这(因为我没有“除非定义下一个”)导致之前的值被覆盖。有没有办法在 NX_NTF_ 变量名称前加上每个部分顶部的“section=”行中提供的值?
谢谢
【问题讨论】:
-
简单状态机:读取一行,找出它是什么,将它存储到适当的地方。起泡、冲洗、重复。
-
你不想那样做。请改用哈希。
-
任何例子都会很棒......我已经做了 6 个小时,整天复制粘贴代码无济于事...... :)