Regex z wyrażeniem rekurencyjnym, aby dopasować zagnieżdżone klamry?

Próbuję dopasować tekst jaksp { ...{...}... }, gdzie nawiasy klamrowe mogą się zagnieżdżać. Oto, co mam do tej pory:

my $regex = qr/
(                   #save $1
    sp\s+           #start Soar production
    (               #save $2
        \{          #opening brace
        [^{}]*      #anything but braces
        \}          #closing brace  
        | (?1)      #or nested braces
    )+              #0 or more
)
/x;

Nie mogę go dopasować do następującego tekstu:sp { { word } }. Czy ktoś może zobaczyć, co jest nie tak z moim wyrażeniem regularnym?

questionAnswers(2)

yourAnswerToTheQuestion