use strict; use warnings; #my $samlattr = $responsetextall[$i][$j]{attributeStatements}; my $samlattr = [ { 'namespace' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified', 'name' => 'First Name', 'values' => 'user.firstName', 'type' => 'EXPRESSION' }, { 'namespace' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified', 'name' => 'Last Name', 'values' => 'user.lastName', 'type' => 'EXPRESSION' } ]; foreach my $result ( @{$samlattr} ) { #print "$result->{type}\n"; print "\n\n"; #foreach my $var ( @{ $samlattr{$result} } ) { foreach my $var ( sort keys %$result ) { #print "$var->{type}\n"; print "$var => $result->{$var}\n"; #$worksheet->write( # $r, 14, # ( $var->{values}) ); } } #### name => First Name namespace => urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified type => EXPRESSION values => user.firstName name => Last Name namespace => urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified type => EXPRESSION values => user.lastName