1
我必須編寫一些Perl腳本,其中每個腳本測試一個不同的Unix應用程序命令。
我想把我的所有變量放在一個.ini文件中,每個部分都是一個獨特的命令。
樣品INI文件:讀INI文件來初始化變量
[Sec2]
item1=xx
item3=yy
[usermgr]
domain=/vol.nas/rpas_qc/mohima/Auto/testDomain/PlatformConfigGD
msgs=user .* was added,usermgr completed successfully
group=Admin
grouplbl=Admin
我iniRead功能:
sub iniRead
{
my $ini = $_[0];
my $conf;
my $section;
open (INI, "$ini") || die "Can't open $ini: $!\n";
while (<INI>) {
chomp;
if (/^\s*\[\s*(.+?)\s*\]\s*$/) {
$section = $1;
}
if (/^\s*([^=]+?)\s*=\s*(.*?)\s*$/) {
$conf->{$section}->{$1} = $2;
}
}
close (INI);
return $conf;
}
裏面我的劇本,我將像下面行初始化變量:
my $conf = iniRead("/vol.nas/rpas_qc/mohima/test/test.ini");
my $domain= $conf->{"dimensionMgr"}->{"domain"};
my $dim = $conf->{"dimensionMgr"}->{"dim"};
是否有辦法用較少的代碼行來初始化每個腳本中的變量?
我不能使用來自CPAN任何外部模塊,它們在組織 –
內限制使這些模塊內部或去尋找一個不同的組織,爲 – Marged
@MohimaChaudhuri工作,如果你可以將文件寫入到磁盤,您可以使用模塊...模塊只是代碼。爲什麼人們得到這個掛斷有時候很難理解。 – TLP