$datum1= "http://home.in.tum.de/~michels/ontology#datum1";
....
@Zeilen = ("");
Du solltest dir dringend angewöhnen mit use strict und warnings zu arbeiten.
Da du damit vor einem Haufen Fehler bewahrt wirst.
open(MAILDAT, "<compleer.rdql");
open immer prüfen:
open F, $file || die "Kann $file nicht öffnen, weil: $!";
while(<MAILDAT>)
{
push(@Zeilen,$_);
}
close(MAILDAT);
Das geht in eine Zeile:
my @zeilen = <MAILDAT>;
for(@Zeilen)
{
if(/SELECT/)
{$_ =~ s/ $datum1\ / $datum1 /g;
Es reicht:
s/ $datum1\ / $datum1 /g;
Das geht bei mir übrigens einwandfrei auch ohne escape sequenzen, wenn du die überflüssige Maskierung des Leerzeichens wegläßt:
my $datum= "http://home.in.tum.de/~michels/ontology#datum1";
my $test = 'bla: $datum ';
$test =~ s/ $datum /$datum/;
struppi.