Thread Kommaseparierte Listen bereichsweise ausgeben. (28 answers)
Opened by Gast at 2006-04-14 16:54

sid burn
 2006-04-15 19:53
#64973 #64973
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=murphy,15.April.2006, 17:27][quote=Ronnie,15.04.2006, 09:39][...]
Das regex-Problem lässt sich einfach beheben in dem man das Komma noch berücksichtigt. Die Verwendung des o-Modifiers wäre möglich und sinnvoll da sich $key nicht ändert wärend der Schleife. Die Idee (<>) zu verwenden habe ich aufgegriffen, deshalb wurde auch das splice nötig.[/quote]
Und was ist mit der Variablen am Zeilenanfang oder mit Leerzeichen vor oder hinter dem Komma oder Gleichheitszeichen? Reale Eingabedaten sind selten perfekt formatiert, also würde ich auf Nummer sicher gehen und den folgenden regulären Ausdruck verwenden:
Code: (dl )
m/(^|,)\s*$key\s*=\s*(\d+)/
[/quote]
Hmm, und was ist wenn ich "Hallo Welt wie geht es" als erstes Argument eingebe?

Also ich würde das schon so machen das ich nur ein Buchstabe a-d erlaube. Das was ihr beide da macht, löst das Problem auch nicht wirklich. Da die Benutzereingabe immer noch nicht überprüft wurde.

Code: (dl )
1
2
3
4
5
6
...
die "$0: VALUE MIN MAX\n" if @ARGV != 3;
my ($key, $min, $max) = @ARGV;
die "Erstes Argument muss [a-d] sein!\n" unless $key =~ m/^[a-d]$/i;
$key = lc $key;
...


Quote
ich denke gerade an die tatsache, dass gerade schon wieder
ein akkusativ für ein dativ geopfert wurde... SCNR =)

Höh? ^^
Wörter am Satzanfang werden übrigens groß geschrieben.\n\n

<!--EDIT|sid burn|1145116707-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Kommaseparierte Listen bereichsweise ausgeben.