[Cologne-pm] Felder eines Arrays ausgeben

Robert Meiser Robert.Meiser at rrz.uni-koeln.de
Thu Apr 15 05:29:04 CDT 2004


On Thu, 11 Mar 2004, A. Pagaltzis wrote:

> Klar tut's das, s.o. Du schreibst die Punkte natürlich nicht in
> einen String, sondern gibst die Start- und Endwert per Variable
> vor.
>
>     sub parse_range {
>         my ($range, $upper_bound) = @_;
>
>         local $_ = $range;
>
>         if( /\A (\d+)? - (\d+) \z/x ) {
>             return ($1 || 0) .. $2;
>         }
>         elsif( /\A (\d+) - \z/x ) {
>             return $1 .. $upper_bound;
>         }

So! Lange ists wieder her, aber jetzt hab ich endlich den Trick begriffen.
Danke erst mal für die ausführliche und hilfreiche Antwort.
Nur aus Neugier:
Gibt es denn überhaupt eine Möglichkeit einen _String_ $x=".." als
Bereichsoperator interpretiert zu bekommen? Ist ja vielleicht auch
interessant für andere Zeichen/Befehle/Ausdrücke mit spezieller Bedeutung.
Ein Anwendungsbeispiel wäre vielleicht das Parsen einer Benutzereingabe als
Perlcode. Oder käme in solchen Fällen dann doch "Evil"-Eval ins Spiel?

Gruß
Robert




More information about the Cologne-pm mailing list