diff options
Diffstat (limited to 'perl/contrib/formfind')
-rwxr-xr-x | perl/contrib/formfind | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/perl/contrib/formfind b/perl/contrib/formfind index 4425e6e9b..f3f3d414e 100755 --- a/perl/contrib/formfind +++ b/perl/contrib/formfind @@ -28,7 +28,17 @@ sub namevalue { my ($tag)=@_; my $name=$tag; if($name =~ /name *=/i) { - $name=~ s/.*name *= *(\"|)([^ \">]*).*/$2/gi; + if($name =~ /name *= *([^\"]([^ \">]*))/) { + $name = $1; + } + elsif($name =~ /name *= *\"([^\"]*)\"/) { + $name=$1; + } + else { + # there is a tag but we didn't find the contents + $name="[weird]"; + } + } else { # no name given @@ -37,7 +47,16 @@ sub namevalue { # get value tag my $value= $tag; if($value =~ /value *=/i) { - $value=~ s/.*value *= *(\"|)([^ \">]*).*/$2/gi; + if($value =~ /value *= *([^\"]([^ \">]*))/) { + $value = $1; + } + elsif($value =~ /value *= *\"([^\"]*)\"/) { + $value=$1; + } + else { + # there is a tag but we didn't find the contents + $value="[weird]"; + } } else { $value=""; @@ -142,11 +161,11 @@ while($in =~ /[^<]*(<[^>]+>)/g ) { push @alts, "$value"; } else { - $info=""; + print "Input: NAME=\"$name\""; if($value ne "") { - $info="=$value"; + print " VALUE=\"$value\""; } - print "Input: $name$info ($type)\n"; + print " ($type)\n"; push @vars, "$name"; # store default value: $value{$name}=$value; |