CPAN上有很多关于读/写INI文件的模块,但到目前为止我测试过的每个模块(Config::General,Config::IniFiles,Config::Simple,{ {3}})未能阅读 MySQL my.cnf 文件。
它们都因为这样的语法而失败了(带键但没有值的行):
skip-external-locking
那么,您使用哪个模块来读取MySQL ini配置文件和其他程序ini文件?
答案 0 :(得分:1)
我最终决定修补Config::Tiny以处理非标准的MySQL内容......
我在GitHub上推送了我修改过的模块:
https://github.com/sebthebert/Perl-Shots/blob/master/Modules/Config/Tiny.pm
差异:
8c8
< $Config::Tiny::VERSION = '2.12';
---
> $Config::Tiny::VERSION = '2.13';
66a67,76
> # Handle 'non-standard' MySQL properties
> if ( /^\s*([-_a-z]+)\s*$/i ) {
> $self->{$ns}->{$1} = 1;
> next;
> }
> # Drop 'non-standard' MySQL '!include' & '!includedir' directives
> if ( /^\s*!include(dir)?\s+\S+\s*$/ ) {
> next;
> }
答案 1 :(得分:0)
我没试过,但显然有MySQL::Config