if( $ok eq 'full' ) {
my $dot = $c->request->body_params->{'dot'};
# Graph::Reader::Dot does not handle bare unicode. We get around this
- # by wrapping all words in double quotes, but then we have to undo it
- # for the initial 'digraph stemma' statement. Horrible hack.
- $dot =~ s/\b(\w+)\b/"$1"/g;
- $dot =~ s/"(digraph|stemma)"/$1/g;
+ # by wrapping all words in double quotes, as long as they aren't already
+ # wrapped, and as long as they aren't the initial 'digraph stemma'.
+ # Horrible HACK.
+ $dot =~ s/(?<!")\b(?!(?:digraph|stemma)\b)(\w+)\b(?!")/"$1"/g;
try {
if( $stemmaid eq 'n' ) {
# We are adding a new stemma.