sách gpt4 ai đã đi

Cấu hình Perl::Đơn giản

In lại 作者:行者123 更新时间:2023-12-04 04:35:27 34 4
mua khóa gpt4 Nike

我有一个 perl 文件,用于查看文件夹中是否存在 ini。如果是,它会从中读取,如果不是,它会根据我为它制作的模板创建一个。

我在 ini 部分使用 Config::Simple。

我的问题是,如果我查找该文件并且它存在,我如何确保其读取的 ini 具有所有应该存在的正确设置名称?

如果ini不存在,它将从我的模板中读取,该模板将始终是最新的,但是如果我向我的代码添加一个新设置并且他们的ini已经存在,我需要能够将新设置添加到他们的。

有什么意见吗?

1 Câu trả lời

您可以将 INI 数据加载到散列中,并根据您的要求检查散列键:

my %config;
Config::Simple->import_from('settings.ini', \%config);

my @requirements = qw< foo bar baz quux >;

for ( @requirements ) { # Verify
warn( "Parameter '$_' is missing from INI" )
unless exists $config{$_};
}

如果您需要覆盖默认设置,将默认值保留在哈希中将允许您执行此漂亮的单行:
my %settings = ( %defaults, %config ); # %settings contains defaults + overwrites

为了清晰地分离关注点,人们可能会考虑将其全部滚动到一个子程序中:
use Config::Simple;

sub get_settings {

my ( $ini_file ) = @_;

state %defaults = ( foo => 1, bar => 2 ); # 'state' needs Perl 5.10+
state @requirements = qw< foo bar baz quux >;

my %config;
Config::Simple->import_from( $ini_file, \%config);

for ( @requirements ) { # Verify presence of necessary parameters
next if exists $config{$_};
warn( "Parameter '$_' is missing from INI" );
return %defaults;
}

my %settings = ( %defaults, %config );

return %settings;
}

关于Perl 配置::简单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19826650/

34 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com