XML::Simple - isn't. It's for simple XML.
In it's documentation it says:
The use of this module in new code is discouraged. Other modules are available which provide more straightforward and consistent interfaces.
Instead, I like XML::Twig (other options exist):
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
my $xml = q{<response>
<response-name>SendUnitaryResponse</response-name>
<params>
<request-status>OK</request-status>
<unitary-request-id>B4004A3E</unitary-request-id>
</params>
</response>};
my $twig_parser = XML::Twig -> new -> parse ( $xml );
#in XML::Twig - root is the 'top' node, e.g. <response> in this case.
print $twig_parser -> root -> first_child_text('response-name');
This also works if you give it a filename:
my $twig_parser = XML::Twig -> new -> parsefile ( 'C:\Users\myuser\Documents\test.xml' );
print $twig_parser -> root -> first_child_text('response-name');