У меня есть ini-файл (конфигурационный файл для операций с базами данных):Возврат значения хэш-функции
[Section1]
SQL1=select * from <tablename>
SQL2=insert into table <table name>
я написал ниже код, чтобы прочитать каждый раздел .ini файла и его работать идеально. Я должен использовать подпрограмму ниже в моем почтовом файле, я хочу вызвать его и передать каждое значение в каждом разделе в хэш и там выполнять операции с базой данных.
ниже код:
sub Read_INI_files_get_initialData {
my (%ini_file, $ini_sect);
tie %ini_file, 'IniFiles',(-file => "/home/testtool/config/InitialData.ini");
for $ini_sect (keys %ini_file) {
%$ini_sect = %{ $ini_file{$ini_sect} };
}
print "$Section1{SQL1}\n"; # output prints the 1st SQL1 statement return in .ini file.
return (\%Section1);
}
Когда я называю эту подпрограмму из основного файла, я не получаю никакого возвращаемого значения, которые я мог бы использовать для дальнейшей OPRATION базы данных.
У вас есть 'return' заявление перед последним' print', поэтому он никогда не будет достигнута .. –
Thats OK .. но когда я звоню та же подпрограмма в основном файле, ничего не возвращает. –
Кажется, вы возвращаете ссылку на хэш '% Section1'? –