【发布时间】:2015-02-17 07:12:22
【问题描述】:
我想制作一个包含一些对象的配置文件,像这样(当然没有一个参数可以被视为主键)
param1=abc
param2=ghj
param1=bcd
param2=hjk
; always the sames parameters
这个文件可以被读取,比如说Config::IniFiles,因为它可以直接转录成ini文件,像这样
[0]
param1=abc
param2=ghj
[1]
param1=bcd
param2=hjk
例如,像
这样的东西perl -pe 'if (m/^\s*$/ || !$section ) print "[", ($section++ || 0) , "]"'
并以
结束open my $fh, '<', "/path/to/config_file.ini" or die $!;
$cfg = Config::IniFiles->new( -file => $fh );
(...parse here the sections starting with 0.)
但是,我在这里问我一些关于事情变得相当复杂的问题......
(A) 有没有办法转换$fh,这样就不需要在顺序读取文件之前执行perl one-liner?因此,在 perl 期间转换文件实际上是在读取它。
或
(B) 有没有一个模块可以读取我的奇妙平面数据库?或者有什么接近的?我让 myslef 说,Gnu coreutils 做这种平面文件读取,但我不记得是怎么做的。
【问题讨论】:
-
你想要完成什么?
-
使用一个包含多个对象的简单配置文件。当然,我有更详细的解决方案,例如 xml、json、...
-
@MUYBelgium:你不能从更标准的ini文件格式开始有什么原因吗?
标签: perl ini gnu-coreutils