Autor |
Nachricht |
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Mo 25.10.2004 17:52
Titel perl - seitenzahlen zusammenfassen. |
|
|
Folgendes: Ich habe eine Liste von Zahlen:
$str="1|5|6|6|8|19|23|24|25|26|28|28"; und so weiter.
Diese will ich nach folgendem Schema zusammenfassen:
$str="1, 5, 6f., 8, 19, 23ff., 28";
Das ganze MUSS ein perl-Skript sein (wovon ich wenig bis keine Ahnung hab). Am besten wär ne Subroutine, die ich mit dem String füttere, und die mir einen String zurückgibt.
Danke im Voraus!!!
|
|
|
|
|
donnerchen
Dabei seit: 06.04.2003
Ort: -
Alter: 53
Geschlecht:
|
Verfasst Mo 25.10.2004 19:49
Titel
|
|
|
Muss das echt Perl sein? Keine andere Chance?
Wenn's nur darum gehen sollte, dass das in der Komandozeile laufen soll, dann kann PHP das auch. Perl habe ich so schrecklich lange nicht mehr genutzt...
|
|
|
|
|
Anzeige
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Mo 25.10.2004 20:35
Titel
|
|
|
Wenn ich sach Perl dann mein
ich auch Perl Im Ernst, das
läuft inner Satzsoftware, und
die versteht kein PHP
... sollte aber nicht schwer sein,
irgendwas mit split und dann nur
noch arraymanipultion und sortierung.
ich brauchs nur schnell, und die syntax
erschließt sich mir noch nicht so ganz
Zuletzt bearbeitet von am Mo 25.10.2004 20:38, insgesamt 1-mal bearbeitet
|
|
|
|
|
Waschbequen
Account gelöscht Threadersteller
Ort: -
|
Verfasst Mo 25.10.2004 20:54
Titel
|
|
|
Die Logik musst du schon selbst ausknobeln... schreibs halt in PHP oder sonstigem Scheiß und poste es in ner Perl-NG oder nem Perl-Forum (www.perlunity.de)
|
|
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Mo 25.10.2004 23:22
Titel
|
|
|
So ihr Maulhelden, selbst ist der Mann!!! Vielleicht kanns ja mal einer gebrauchen, da ich heute ein extremes Brett vorm Kopp hab, gibts bestimmt nen weniger holprigen Weg.
Code: | #!/usr/bin/perl
$test="5|7|8|9|10|11|12|13|26|66|66|73|74|79|89|90|91|92|104|106|111|112|113|116|245|117|118|119|123|124|126";
@eintr=split(/\|/, $test);
@eintr=sort({$a <=> $b } @eintr); #jau, fluppt ja auch... seltsam...
foreach (@eintr) {
print $_."\n";
}
foreach (@eintr2) {
print $_."\n";
}
$cnt=0;
$str="";
for(my $i = 0; $i<@eintr; $i++) {
if ($cnt==0){
#startpunkt festlegen
$page=@eintr[$i];
}
$currEntr=@eintr[$i];
$nextEntr=@eintr[$i+1];
if($nextEntr-$currEntr==1) {
#um eins höher
$cnt++;
}
elsif($nextEntr-$currEntr>1 || !$nextEntr) {
#um mehr als eins höher, hier passiert was...
if($cnt<1) {
$str.=$page;
}
elsif ($cnt==1) {
$str.=$page."f.";
}
else {
$str.=$page."ff.";
}
if ($nextEntr) {
$str.=", ";
}
$cnt=0;
}
}
print $str;
|
Zuletzt bearbeitet von am Mo 25.10.2004 23:40, insgesamt 1-mal bearbeitet
|
|
|
|
|
Waschbequen
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 26.10.2004 00:17
Titel
|
|
|
Ganz toller Hecht.
(was für ne abartige Syntax!)
|
|
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Di 26.10.2004 00:22
Titel
|
|
|
Danke.
Es geht noch fieser, das ist eigentlich noch lesbar. Perl ist
echt Scheiße, was das angeht. Soll in der Sechser-Version
aber angeblich besser werden.
|
|
|
|
|
|
|
|
Ähnliche Themen |
ASP, Perl, JSP Ping
perl array screwup
Wie starte ich ein PERL Script?
Reservierungsformular in php oder perl
[Perl] Kalender für Buchungsformular
[Perl] Kontaktformular erstellen - Wie?
|
|