diff --git a/src/tools/dbdToHtml.pl b/src/tools/dbdToHtml.pl
index bf162fefc..8e890ec1a 100644
--- a/src/tools/dbdToHtml.pl
+++ b/src/tools/dbdToHtml.pl
@@ -80,7 +80,7 @@ open my $out, '>', $opt_o or
my $pod = join "\n", '=for html
', '',
map {
# Handle a 'recordtype' Pod directive
- if (m/^ =recordtype \s+ (.*)/x) {
+ if (m/^ =recordtype \s+ (\w+) /x) {
my $rn = $1;
my $rtyp = $dbd->recordtype($rn);
die "Unknown recordtype '$rn' in $infile POD directive\n"
@@ -88,7 +88,7 @@ my $pod = join "\n", '=for html
', '',
rtypeToPod($rtyp, $dbd);
}
# Handle a 'menu' Pod directive
- elsif (m/^ =menu \s+ (.*)/x) {
+ elsif (m/^ =menu \s+ (\w+) /x) {
my $mn = $1;
my $menu = $dbd->menu($mn);
die "Unknown menu '$mn' in $infile POD directive\n"
@@ -152,7 +152,7 @@ sub rtypeToPod {
my ($rtyp, $dbd) = @_;
return map {
# Handle a 'fields' Pod directive
- if (m/^ =fields \s+ (.*)/x) {
+ if (m/^ =fields \s+ (\w+ (?:\s* , \s* \w+ )* )/x) {
my @names = split /\s*,\s*/, $1;
# Look up the named fields
my @fields = map {
@@ -170,7 +170,7 @@ sub rtypeToPod {
'', '', '=end html';
}
# Handle a 'menu' Pod directive
- elsif (m/^ =menu \s+ (.*)/x) {
+ elsif (m/^ =menu \s+ (\w+) /x) {
my $mn = $1;
my $menu = $dbd->menu($mn);
die "Unknown menu '$mn' in $infile POD directive\n"
@@ -218,7 +218,7 @@ sub fieldTableRow {
# Native type presented to dbAccess users
sub DBD::Recfield::public_type {
my $fld = shift;
- m/^=type (.+)$/i && return $1 for $fld->comments;
+ m/^ =type \s+ (.+) /x && return $1 for $fld->comments;
my $type = $fld->dbf_type;
$type =~ s/^DBF_//;
return $type;
@@ -227,7 +227,7 @@ sub DBD::Recfield::public_type {
# Check if this field is readable
sub DBD::Recfield::readable {
my $fld = shift;
- m/^=read (Yes|No)$/i && return $1 for $fld->comments;
+ m/^ =read \s+ (?i) (Yes|No) /x && return $1 for $fld->comments;
return 'Probably'
if $fld->attribute('special') eq "SPC_DBADDR";
return $fld->dbf_type eq 'DBF_NOACCESS' ? 'No' : 'Yes';
@@ -236,7 +236,7 @@ sub DBD::Recfield::readable {
# Check if this field is writable
sub DBD::Recfield::writable {
my $fld = shift;
- m/^=write (Yes|No)$/i && return $1 for $fld->comments;
+ m/^ =write \s+ (?i) (Yes|No) /x && return $1 for $fld->comments;
my $special = $fld->attribute('special');
return 'No'
if $special eq "SPC_NOMOD";