From 967ec296c036b6ce45e03a6e7b7116876c01a878 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 28 Apr 2005 21:05:40 +0000 Subject: fixed the attribute parser to better handle multiple ones, with or without quotes around the contents --- tests/getpart.pm | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'tests') diff --git a/tests/getpart.pm b/tests/getpart.pm index d1c8ec856..ccfbd7d62 100644 --- a/tests/getpart.pm +++ b/tests/getpart.pm @@ -34,20 +34,11 @@ sub getpartattr { ) { $inside++; my $attr=$1; - my @p=split("[\t]", $attr); - my $assign; - foreach $assign (@p) { - # $assign is a 'name="contents"' pair - - if($assign =~ / *([^=]*)=\"([^\"]*)\"/) { - # *with* quotes - $hash{$1}=$2; - } - elsif($assign =~ / *([^=]*)=([^\"]*)/) { - # *without* quotes - $hash{$1}=$2; - } + while($attr =~ s/ *([^=]*)= *(\"([^\"]*)\"|([^\"> ]*))//) { + my ($var, $cont)=($1, $2); + $cont =~ s/^\"(.*)\"$/$1/; + $hash{$var}=$cont; } last; } -- cgit v1.2.3