sub read_ini { my( $file ) = @_; my %var; open my $fh, '<', $file or die "Cannot open file '$file': $!\n"; while ( my $line = <$fh> ) { chomp $line; my( $k, $v ) = $line =~ /^\s*(\S+)\s*=\s*(\S+)\s*$/; if ( defined $k ) { $v =~ s/\$\{(.+?)\}/$var{$1}/g; $var{$k} = $v; } # if } # while close $fh; return \%var; } # read_ini