in reply to Re^4: XML File Creation in Perl
in thread XML File Creation in Perl

Well, if

$xml_data->{$root}{$table}{NEW2}{$key} = [$key];

is producing

<ABC>ABC</ABC>

then I'd expect

$xml_data->{$root}{$table}{NEW2}{KEY} = [$key];

to produce

<KEY>ABC</KEY>

I recommend you spend some time playing around with the features of XML::Simple. Look at how the various OPTIONS interact with each other; see what differences running in STRICT MODE makes; and so on.

-- Ken

Replies are listed 'Best First'.
Re^6: XML File Creation in Perl
by documents9900 (Initiate) on Apr 17, 2013 at 07:19 UTC
    Thanks Ken. I will look in detailed documentation on this. Also, I agree with your point on and the same i also mentioned that it is expected. My point is If i have multiple combinations of root, table, NEW2 isn't that every time the loop runs it overwrites the old value because we are storing $key for  $xml_data->{$root}{$table}{NEW2}{KEY} So to avoid that, i used $xml_data->{$root}{$table}{NEW2}{$key} = [$key]; but it resulted into
    <ABC>ABC</ABC> <DEF>DEF</DEF>
    , without this it displays only the last row with that combination in the file <KEY>DEF</KEY>

      Instead of assigning:

      $xml_data->{$root}{$table}{NEW2}{KEY} = [$key]

      Try pushing:

      push @{$xml_data->{$root}{$table}{NEW2}{KEY}}, $key;

      There's a few examples of that in the code I posted earlier.

      -- Ken