This patch simplifies the $range assignment. Index: sword-1.5.9/utilities/diatheke/cgi/diatheke.pl =================================================================== --- sword-1.5.9.orig/utilities/diatheke/cgi/diatheke.pl 2008-02-18 22:10:09.000000000 +0000 +++ sword-1.5.9/utilities/diatheke/cgi/diatheke.pl 2008-02-18 22:30:25.000000000 +0000 @@ -110,8 +110,7 @@ $range = $mydata; $range =~ tr/+/ /; $range =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; - $range = "-r \"$range\""; - $range = shell_escape($range); + $range = "-r '" . shell_escape($range) . "'"; } elsif ($varname eq "strongs") {