#!/usr/bin/perl use strict; use warnings; #my @array = ('#----------','application = OVO3','user = oraovo3','','application = TST1','user = oratst3','#----------'); my @neu = ('application = OVO4','user = oraovo4','','application = TST2','user = oratst4'); #print "alt: @array\n\n"; my $datei_passwd = "user"; my $datei_parm = "test.txt"; open(my $sesam, '<', $datei_passwd) or die "$!"; # Lesend öffnen local $/ = "\n"; # Eingabeseparator setzen für Array my @array = <$sesam>; close $sesam; $_ =~ s/[\r\n]// for @array; # Alle Zeilentrennzeichen entfernen (ist unten hinderlich) my $start = ''; for my $zaehl (0 .. @array) { if ($array[$zaehl] eq '#----------') { if ($start eq '') { $start = $zaehl + 1; } else { splice @array,$start,$zaehl - 1,@neu; # Neuen Inhalt setzen last; } } } open (my $out, '>', $datei_parm) or die "$!"; # Schreibend öffnen print $out join "\n",@array; # Zeilenweise schreiben close $out; #print "neu: @array";