Funktion gesucht...
Rolf Rost
Hallo,
ich suche die PERL Funktion, die in einem String die Anzahl eines Zeichens ermittelt, z.B., wie oft ein Semikolon in einem String vorkommt.
Viele Grüße
Rolf
Hallo Rolf,
ich suche die PERL Funktion, die in einem String die Anzahl eines Zeichens ermittelt, z.B., wie oft ein Semikolon in einem String vorkommt.
Probier mal das folgende kleine Test-Script (die erste Zeile zum Perl-Interpreter musst Du natuerlich anpassen):
#!/www/bin/perl/bin/perl.exe
$Textzeile = "Vorname;Name;Anschrift;PLZ;Ort;Telefon;Telefax;EMail";
$Trennzeichen = ";";
$Anzahl = 0;
for($i=0; $i<length($Textzeile); $i++) {
if(substr($Textzeile,$i,1) eq $Trennzeichen) {
$Anzahl++;
}
}
print "Content-type: text/html\n\n";
print "<html><head><title>User</title></head>\n";
print "<body>\n";
print "Anzahl Trennzeichen: ", $Anzahl, "\n";
print "</body></html>\n";
exit(0);
viele Gruesse
Stefan Muenz
Hallo Stefan,
vielen Dank für Deinen Lösungsvorschlag.
Herzliche Grüße aus Erfurt
Rolf Rost
Hallo Stefan,
vielen Dank für den Lösungsansatz, das Script läuft!!!
Hier isses:
#--------------------Schnipp------------------------------------
#dieses Script liest eine CSV Datei und schreibt die
#Daten in eine HTML Tabelle
#Die Zeilen- und Spaltenanzahl ergibt sich automatisch
print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>Telefonnummern</TITLE></HEAD>
<BODY bgcolor='silver' text='black'>";
@Zeilen = ("");
open(LISTE, "<adres.csv") || die "Datei mit Telefonnummern nicht gefunden\n";
while(<LISTE>) { push(@Zeilen,$_); }
close(LISTE);
print '<H3>Wichtige Telefonnummern</H3>';
$i=0;
for(@Zeilen)
{
@list[$i]=$_;
$i++;
}
#print $list[1],'<br>'; #ok, die erste Zeile hätten wir
$lg = length ($list[1]); #Die Länge der ersten Zeile steht #also in $lg
$zan = $i-1; #Die Zeilenanzahl steht hier
#Ermittelung der Spaltenanzahl
$Trennzeichen = ";";
$Anzahl = 0;
for($i=0; $i<length($list[1]); $i++)
{
if(substr($list[1],$i,1) eq $Trennzeichen)
{
$Anzahl++;
}
}
$span = $Anzahl+1;
#print "Die Tabelle hat ",$span," Spalten!<br>";
#print "Die Tabelle hat ",$zan," Zeilen";
print "
<TABLE border=1 cellspacing=1 align='center'>";
$i=1;
for(1..$zan)
{
@sp = split(/;/,$list[$i],$span);
$i++;
print "
<TR>";
$hilf=0;
for (1..$span)
{
print "<TD>@sp[$hilf]</TD>";
$hilf++;
}
</TR>
}
print "</TABLE>";
print "<BR></BODY></HTML>";
#--------------------------Schnapp-----------------------------------