for my $i (0..$#responsetextall) { $responsetextall[$i] =~ s/]\[/,/g; for my $j (0..$#{$responsetextall[$i]}) { my $responseid = $responsetextall[$i][$j]{id}; my $responsests = $responsetextall[$i][$j]{status}; if ($responsests ne "Deactivated") { run_api_call($apiurluser. $responseid . $apiurl2); my @responsetext4 = parse_json ($client->responseContent()); my $responsecode1 = $client->responseCode() ; for my $m (0..$#responsetext4) { for my $n (0..$#{$responsetext4[$m]}) { $response1 = $responsetext4[$m][$n]{id}; $resplable = $responsetext4 [$m][$n]{label}; push @mouapps, $resplable; } } my $newurl = ($apiurluser . $responseid ); run_api_call($newurl); my @responsetext1 = parse_json ($client->responseContent()); print Dumper @responsetext1 ; for my $l (0..$#responsetext1) { my $response2 = $responsetext1[$l]{id}; my $response3 = $responsetext1[$l]{profile}{firstName}; my $response4 = $responsetext1[$l]{profile}{lastName}; my $response5 = $responsetext1[$l]{profile}{email}; my $response6 = $responsetext1[$l]{credentials}{provider}{name}; ## Wrting to the reporting file. $worksheet->write(0, 0, 'OKTA-ID'); $worksheet->write(0, 1, 'FIRST NAME'); $worksheet->write(0, 2, 'LAST NAME'); $worksheet->write(0, 3, 'EMAIL-ID'); $worksheet->write(0, 4, 'Profile-Master'); $worksheet->write(0, 5, 'APPS'); $worksheet->write($r, 0, $response2); $worksheet->write($r, 1, $response3); $worksheet->write($r, 2, $response4); $worksheet->write($r, 3, $response5); $worksheet->write($r, 4, $response6); foreach (@mouapps) { local $" = '|'; my $response7 = join ("|","@mouapps"); $worksheet->write($r, 5, $response7); } $r += 1; } } else { print "Do Nothing" ; } } } $workbook->close; print "Spreadsheet saved.\n";