#!/usr/bin/perl # # $Id: ini2tcl,v 1.1 2000/02/26 20:40:47 mayoff Exp $ # # Convert an AOLserver .ini file to a .tcl file. sub quote { my ($string) = @_; if ($string eq '') { $string = '""'; } elsif ($string =~ /["\\{}\[\]\$\s]/) { $string =~ s/["\\\[\]\$]/\\$&/g; $string = "\"$string\""; } return $string; } while (<>) { chomp; ($indent) = /^(\s*)/; s/^\s*//; s/\s*$//; if (/^;(\s*)([^\s=]+)=(.*)/) { my ($space, $name, $value) = ($1, $2, $3); $name = quote($name); $value = quote($value); $_ = "\t#${space}ns_param $name $value"; } elsif (/^;/) { substr($_, 0, 1) = "\t#"; } elsif (/^\[(.*)\]/) { my $sectionName = quote($1); $_ = "\nns_section $sectionName\n"; } elsif (/^([^=]*)=(.*)/) { my ($name, $value) = ($1, $2); $name = quote($name); $value = quote($value); $_ = "\tns_param $name $value"; } print $indent, $_, "\n"; }