Thread Code durch Code erzeugen (3 answers)
Opened by Gast at 2007-04-09 20:04

Gast Gast
 2007-04-09 20:04
#75766 #75766
Ich habe folgendes Problem.

Ich habe eine Schleife, die viele Zeile einliest und folgende Abfrage enthält:

Code: (dl )
1
2
3
4
5
6
SCHLEIFE ANFANG
if ( $fil ne "" ) {
if ( $fmode eq "-" ) { next if ( /$fil/ ); }
if ( $fmode eq "+" ) { next if ( ! /$fil/ ); }
}
SCHLEIFE ENDE


Jetzt will ich die Performance verbessern und das ganze nicht bei jedem Schleifendurchlauf abfragen.
Kann ich das Kommando irgendwie über der Schleife erzeugen und dann in den Code einfügen, sodass es ausgeführt wird?

So:
Code: (dl )
1
2
3
4
5
6
7
8
        my $com = "";
if ( $fil eq "" ) { $com = ""; }
elsif ( $fmode eq "-" && $fil ne "" ) { $com = "next if ( /$fil/ );"; }
elsif ( $fmode eq "-" && $fil ne "" ) { $com = "next if ( ! /$fil/ );"; }

SCHLEIFE ANFANG
AUSFÜHREN $com;
SCHLEIFE ENDE


Das Kommando $com müsste er dann allerdings nicht printen o.ä. sondern irgendwie an einer Stelle ausführen. Als Perl code!

Geht das irgendwie? Wißt ihr, was ich mein? Ja, oder.
Ich will diese IF-Statements aus dem Schleifendurchlauf raushalten, da sie eh immer das gleiche prüfen. $fmode und $fil sind konstante Variablen.

Dank euch!! Flo

View full thread Code durch Code erzeugen