2010-05-10 11 views
7

Haben wir eine preg_callback Entsprechung in Perl?Perl-Äquivalent von PHPs preg_callback

Sagen wir, ich möchte etwas zusammenbringen und es durch den Rückgabewert der Funktion ersetzen, die mit dem übereinstimmenden Ding aufgerufen wird.

+0

Wenn für eine entsprechende Funktion aus einer anderen Sprache zu fragen, ist es eine gute Idee, zu erklären, was sie tut und/oder einem Link zu docs für die Funktion. – daotoad

Antwort

16

Verwenden Sie s///e - Bewertungsmodifikator und Sie können beliebige Perl-Codes im zweiten Teil eingeben.

$x = "this is a test"; 
$x =~ s/(test)/reverse($1)/eg; 
print $x; 

//this is a tset 

ref: http://perldoc.perl.org/perlretut.html#Search-and-replace

+0

Danke für die schnelle Antwort, können Sie ein kurzes Beispiel geben. Sagen wir, ich möchte das passende Ding durch sein Gegenteil ersetzen. – Joseph

+0

'my $ string =" abc "; (meine $ reverseString = $ string) = ~ s/(bc)/reverse $ 1/e; 'bewirkt, dass' $ reverseString 'zu' "acb" 'wird. @Joseph: Ich schlage vor, dass Sie Ihre Frage bearbeiten, um nach dem umgekehrten Beispiel zu fragen, damit ich dies als separate Antwort veröffentlichen kann. – Zaid

+0

Ich habe hinzugefügt @Joseph, auch danke für Zaid – YOU

Verwandte Themen