Schrift
[thread]8310[/thread]

Textteile ersetzen



<< >> 3 Einträge, 1 Seite
Gast Gast
 2006-09-10 12:43
#69610 #69610
Ich wollte das Problem eigentlich mit einer split Funktion angehen, leider bisher ohne Erfolg.

Das Problem:

Ich lese zuerst ein Text File ein:

my @FILE = `cat file`;

In dem File befindet sich ein TAG "#REPLACE"

Alles was hinter dem FLAG steht soll gelöscht werden und gegen den Inhalt eines weiteren Files (file2)ersetzt werden.

Schon mal danke für die Hilfe
esskar
 2006-09-10 14:07
#69611 #69611
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
7
# my $file1 = `cat file`;
my $file1; {
  open(my $fh, "< file") or die "Unable to open file: $!\n";
  local $/;
  $file1 = <$fh>;
}
$file1 =~ s!^(.*#REPLACE)(.*)$!$1$file2!e;
\n\n

<!--EDIT|esskar|1157882850-->
Thorium
 2006-09-10 14:09
#69612 #69612
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
my $file1 = '/path/to/file/one';
my $file2 = '/path/to/file/two';


open FILE1, $file1 or die $!;
my @content1 = <FILE1>;
close FILE1;

open FILE1, '>'.$file1 or die $!;
foreach my $line (@content1) {
if ($line =~ m~^(.*#REPLACE)~) {
open FILE2, $file2 or die $!;
print FILE1 $1,(<FILE2>);
close FILE2;
last;
}

print FILE1 $line;
}
close FILE1;

ungetestet\n\n

<!--EDIT|Thorium|1157883093-->
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
<< >> 3 Einträge, 1 Seite



View all threads created 2006-09-10 12:43.