use warnings; use Config::IniFiles; sub readtestcase { my $ConfigFile = $_[0]; tie %ini_file, 'Config::IniFiles', ( -file => $ConfigFile ); foreach $ini_sect ( keys %ini_file ) { %$ini_sect = %{ $ini_file{$ini_sect} }; print "$ini_sect\n"; while( my( $key, $value ) = each %$ini_sect ) { print "$key: $value\n\n"; } return ( \%TEST_CASE, \%PRE_CONFIG, \%PROCESS_RESTART, \%ABCD, \%POST_CONFIG, \%DB_VALIDATION, ); } } readtestcase("file1.txt"); #### Name "main::TEST_CASE" used only once: possible typo at ./file.pl line 29 Name "main::PRE_CONFIG" used only once: possible typo at ./file.pl line 30 Name "main::ABCD" used only once: possible typo at ./file.pl line 31 Name "main::PROCESS_RESTART" used only once: possible typo at ./file.pl line 32 Name "main::POST_CONFIG" used only once: possible typo at ./file.pl line 33 Name "main::DB_VALIDATION" used only once: possible typo at ./file.pl line 34