@@ -119,7 +119,7 @@ sub Dataset {
119119 my $self = shift ;
120120
121121 foreach my $dataset ( @_ ) {
122- my $tags = _quote ( lc ( $dataset -> Name ) ) . ' ,server=' . _quote ( $dataset -> Server ) . ' ,node=' . _quote ( $dataset -> Node );
122+ my $tags = _quote_key ( lc ( $dataset -> Name ) ) . ' ,server=' . _quote_value ( $dataset -> Server ) . ' ,node=' . _quote_value ( $dataset -> Node );
123123 my $timestamp =
124124 $self -> {timestamp } eq ' start'
125125 ? $dataset -> StartTime
@@ -149,7 +149,7 @@ sub Process {
149149
150150 if ( $dimension -> HaveDimensions ) {
151151 unless ( $dimension -> Name eq ' All' and $dimension -> Value eq ' ALL' ) {
152- $tags .= ' ,' . _quote ( lc ( $dimension -> Name ) ) . ' =' . _quote ( $dimension -> Value );
152+ $tags .= ' ,' . _quote_key ( lc ( $dimension -> Name ) ) . ' =' . _quote_value ( $dimension -> Value );
153153 }
154154
155155 foreach my $dimension2 ( $dimension -> Dimensions ) {
@@ -171,26 +171,42 @@ sub Process {
171171 }
172172
173173 my %value = $dimension -> Values;
174- $tags .= ' ,' . _quote ( lc ( $dimension -> Name ) ) . ' =' ;
174+ $tags .= ' ,' . _quote_key ( lc ( $dimension -> Name ) ) . ' =' ;
175175 foreach ( keys %value ) {
176- $self -> {handle }-> say ( $tags , _quote ( $_ ), ' value=' , $value {$_ }, ' ' , $timestamp );
176+ $self -> {handle }-> say ( $tags , _quote_value ( $_ ), ' value=' , $value {$_ }, ' ' , $timestamp );
177177 }
178178
179179 return ;
180180}
181181
182- =item _quote
182+ =item _quote_key
183183
184184=cut
185185
186- sub _quote {
186+ sub _quote_key {
187187 my ( $key ) = @_ ;
188188
189189 $key =~ s / ([,=\s ])/ \\ $1 / go ;
190190
191191 return $key ;
192192}
193193
194+ =item _quote_value
195+
196+ =cut
197+
198+ sub _quote_value {
199+ my ( $key ) = @_ ;
200+
201+ $key =~ s / ([,=\s ])/ \\ $1 / go ;
202+
203+ if ( $key eq ' ' ) {
204+ $key = ' ""' ;
205+ }
206+
207+ return $key ;
208+ }
209+
194210=back
195211
196212=head1 AUTHOR
0 commit comments