my $filename = "prefs_defaults.cfg"; tie my @array, 'Tie::File', $filename or die "Could not open file '$filename'. $!"; # open (my $fh, "+<", $filename) or die "Could not open file '$filename'. $!"; #while(my $current_line = <$fh>) for (my $i = 0; $i <= $#array; $i++){ my $current_line = $array[$i]; # this is the abstract array. #print "$array[$i]\n"; #print "$current_line\n"; foreach my $field (keys %user_options) { if (($current_line =~ $field) and ( defined ($user_options{$field}))) { #print "Line which modified: $current_line\n" ; #print "user options: $user_options{$field}\n"; print "hello"; $current_line = $current_line."\n"; print $current_line; if ($current_line =~ /(.*?)=(\w+)(\s+.*)/) { print "left: $1\n"; print "middle: $2\n"; print "right: $3\n"; } $current_line =~ s/(.*?)=(\w+)(\s+.*)/$1=$user_options{$field}$3/; #print "$current_line\n"; $array[$i] =$current_line; #print "$array[$i]\n"; } }