Thread Mit RegEx suchen und bei Erfolg Datei ausgeben. (5 answers)
Opened by cbxk1xg at 2004-07-05 19:33

cbxk1xg
 2004-07-06 04:15
#3040 #3040
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Das es nun nicht das anspruchsvolslte Modul ist, ist mir auch klar. Ich mag nur keine Module benutzen, wo man mit ein paar Zeilen das gleiche Ergebnis erzielen kann. Oft muss ich meine Skripte auch auf Webservern einsetzen wo man keine Module nachinstallieren kann. Normale Module ja, aber keine Module die man erst kompilieren muss. Daher lebe ich gerne modulfrei wenn es die Kompatibiltät erhöht, der Code nicht zu lang wird und die Performance stimmt.

Danke für den Hinweiss auf den Modifier. Da ich Perl nicht auf einem meiner Rechner installiert habe, sondern nur mit entfernten Webservern arbeite, kann ich leider auch nicht auf perldoc oder perlre.pod zugreifen. Manchmal hilft es mir aber schon wenn ich wenigstens weiss wonach ich in meinen Büchern (O'Reily und Co.) suchen muss.

Ich habe das Problem auch (fast) gelöst. Es gibt nur noch einen kleinen Fehler, der sich aber an anderer Stelle in meinem Skript befindet. Hier meine Lösung (falls es überhaupt jemanden gibt, den das interessiert).

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
sub printhtml
{
print "Content-type: text/html\n\n";

my (@TEMPLATE) = @_;

foreach $line (@TEMPLATE)
{
  $line =~ s-\[include\=(.*?)\]-my $IncludeFile = &getIncludeFile( "$path$1" )-ge;
  print "$line\n";
}
}


sub getIncludeFile
{
# ließt die gesamte Datei in einen String ein.
# undef $/ sorgt dafür, dass kein Trennzeichen
# für die einzelnen Zeilen akzeptiert werden.

my ($filename) = @_;
open (FILE, "<$filename") or return( "Unable to get include-file." );
undef $/;
my $IncludeFile = <FILE>;
close(FILE);
return $IncludeFile;
}

View full thread Mit RegEx suchen und bei Erfolg Datei ausgeben.