Syntax error in perl program.

Hi,
i am running this code but i am getting syntax error

#!/usr/bin/perl
use warnings;
use strict;
 use XML::LibXML;
 use XML::LibXML::Reader;
use Data::Dumper;

my $file;
open( $file, 'DTC_Specification_transformed.xml');
	my $reader = XML::LibXML::Reader->new( IO => $file ) or die ("unable to open file");
    
	 my %nums;
	 my $number;
	 my $infohash;
while ($reader->nextElement( 'Number' )) {
    my $number = $reader->copyCurrentNode(1)->textContent;

    $reader->nextElement( 'Address' ); 
    my $node = $reader->copyCurrentNode(1); 
    my $infohash = {
        house => $node->getElementsByTagName(  'housenumber' )[0]->textContent,
       street => $node->getElementsByTagName(  'streetname')[0]->textContent,
                     };
    $nums{$number} = $infohash;
 }

i am getting syntax error at near ")[" at 21line and at the end "}" at 25 line. how can rectify.

#
# should the comma's at the end of the lines be there or are they supposed to be semi colons ..
# 
...
house => $node->getElementsByTagName(  'housenumber' )[0]->textContent,
       street => $node->getElementsByTagName(  'streetname')[0]->textContent,
...