Ho un programma Perl che memorizza le espressioni regolari nei file di configurazione. Sono in forma:Doppia interpolazione delle espressioni regolari in Perl
regex = ^/d+$
Altrove, l'espressione regolare viene analizzato dal file e memorizzato in una variabile - $regex
. Quindi uso la variabile quando si verifica la regex, ad es.
$lValid = ($valuetocheck =~ /$regex/);
Voglio essere in grado di includere variabili perl nel file di configurazione, ad es.
regex = ^\d+$stored_regex$
Ma non riesco a capire come farlo.
Quando le espressioni regolari vengono analizzate da Perl, vengono interpretate due volte. Prima le variabili vengono espanse e quindi viene analizzata l'espressione regolare stessa.
Quello che mi serve è un processo a tre fasi: Prima interpolare $regex
, quindi interpolare le variabili che contiene e quindi analizzare l'espressione regolare risultante. Entrambe le prime due interpolazioni devono essere "consapevoli dell'espressione regolare". per esempio. dovrebbero sapere che la stringa contiene $
come un'ancora ecc ...
Qualche idea?
È una soluzione elegante. –