use Config::Inifiles; use Data::Dumper; my %ini; tie %ini, 'Config::IniFiles', ( -file => "test.ini" ); print Dumper \%ini; @hosts = keys %{$ini{'hosts'}}; @ips = values %{$ini{'hosts'}}; print Dumper \@hosts; print Dumper \@ips; #### $VAR1 = { 'hosts' => { 'host_1' => '192.168.1.1', 'host_2' => '192.168.1.2', 'host_3' => '192.168.1.3' } }; $VAR1 = [ 'host_1', 'host_2', 'host_3' ]; $VAR1 = [ '192.168.1.1', '192.168.1.2', '192.168.1.3' ];