[Xml-compile] Syntax errors when loading XML::Compile::Dumper-generated module

Mark Gardner mjg at phoenixtrap.com
Wed Apr 15 12:41:23 GMT 2015


I've attached a diff FWIW.

--
Mark Gardner $ <mjg at phoenixtrap.com>

On Tue, Apr 14, 2015 at 12:35 PM, Mark Gardner <mjg at phoenixtrap.com> wrote:

> I've found a workaround until and unless I can get DDS fixed. If you
> replace that empty hash reference {} with a hash reference containing an
> empty list {()}, it compiles OK. I've attached a reduced test case that
> demonstrates the difference.
>
> Would you consider using this syntax as a workaround to XML::Compile::SOAP
> for now?
>
>         my @pairs = ( %{delete $data->{Header} || {()}}
>                     , %{delete $data->{Body}   || {()}});
>
>
> --
> Mark Gardner $ <mjg at phoenixtrap.com>
>
> On Mon, Mar 23, 2015 at 6:06 PM, Mark Overmeer <mark at overmeer.net> wrote:
>
>> * Mark Gardner (mjg at phoenixtrap.com) [150323 21:10]:
>> > syntax error at lib/WebService/Avalara/AvaTax/TaxSvc.pm line 4459, near
>> > "%{{} unless"
>> > syntax error at lib/WebService/Avalara/AvaTax/TaxSvc.pm line 4459, near
>> ";}"
>> > Unmatched right curly bracket at lib/WebService/Avalara/AvaTax/TaxSvc.pm
>> > line 4459, at end of line
>> > Unmatched right curly bracket at lib/WebService/Avalara/AvaTax/TaxSvc.pm
>> > line 4466, at end of line
>> > syntax error at lib/WebService/Avalara/AvaTax/TaxSvc.pm line 4466, near
>> "}"
>>
>> Not all Data::Dump::Streamer versions have the same bugs.
>>
>> It apparently decodes
>>
>>   lib/XML/Compile/SOAP.pm
>>       my @pairs = ( %{delete $data->{Header} || {}}
>>                   , %{delete $data->{Body}   || {}});
>>
>>
>> into
>>   my(@pairs) = ( %{{} unless delete $$data{'Header'};}
>>                , %{{} unless delete $$data{'Body'};});
>>
>> which is explainable but incorrect Perl.
>> You may be able to get this resolved.
>>
>> XML::Compile::Dumper may not help your performance at all:
>> Data::Dump::Streamer should have some de-duplication implemented.
>> --
>> Regards,
>>
>>                MarkOv
>>
>> ------------------------------------------------------------------------
>>        Mark Overmeer MSc                                MARKOV Solutions
>>        Mark at Overmeer.net                          solutions at overmeer.net
>> http://Mark.Overmeer.net                   http://solutions.overmeer.net
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scsys.co.uk/pipermail/xml-compile/attachments/20150415/684b7729/attachment.htm>
-------------- next part --------------
459,460c459,460
<         my @pairs = ( %{delete $data->{Header} || {}}
<                     , %{delete $data->{Body}   || {}});
---
>         my @pairs = ( %{delete $data->{Header} || {()}}
>                     , %{delete $data->{Body}   || {()}});


More information about the Xml-compile mailing list