+sub kiriwrite_processconfig{
+#################################################################################
+# kiriwrite_processconfig: Processes an INI style configuration file. #
+# #
+# Usage: #
+# #
+# kiriwrite_processconfig(data); #
+# #
+# data Specifies the data to process. #
+#################################################################################
+
+ my (@settings) = @_;
+
+ my ($settings_line, %settings, $settings, $sectionname, $setting_name, $setting_value);
+
+ foreach $settings_line (@settings){
+
+ next if !$settings_line;
+
+ # Check if the first character is a bracket.
+
+ if (substr($settings_line, 0, 1) eq "["){
+ $settings_line =~ s/\[//;
+ $settings_line =~ s/\](.*)//;
+ $settings_line =~ s/\n//;
+ $sectionname = $settings_line;
+ next;
+ }
+
+ $setting_name = $settings_line;
+ $setting_value = $settings_line;
+ $setting_name =~ s/\=(.*)//;
+ $setting_name =~ s/\n//;
+ $setting_value =~ s/(.*)\=//;
+ $setting_value =~ s/\n//;
+
+ # Remove the spacing before and after the '=' sign.
+
+ $setting_name =~ s/\s+$//;
+ $setting_value =~ s/^\s+//;
+ $setting_value =~ s/\r//;
+
+ $settings{$sectionname}{$setting_name} = $setting_value;
+
+ }
+
+ return %settings;
+
+}
+