Here is a sample of a Dumper output. See what I mean? Does it matter that there are brackets here instead of parentheses?#!/usr/bin/perl use warnings; use strict; use diagnostics; use WWW::Salesforce; use Data::Dumper; my $sforce = eval { WWW::Salesforce->login( username => 'xxxxxxx', password => 'xxxxxxx', serverurl=> 'https://xxxxxxx.salesforce.com/servic +es/Soap/u/34.0'); }; die "Could not login to SFDC: $@" if $@; my @tableattribute_ref=$sforce->describeGlobal()->result->{sobjects};
I need to pull the names out of this to create an array. Here's an alternative, I can pull the names just fine 1 by 1.[ { 'custom' => 'true', 'deletable' => 'false', 'retrieveable' => 'true', 'layoutable' => 'true', 'queryable' => 'true', 'createable' => 'false', 'customSetting' => 'false', 'deprecatedAndHidden' => 'false', 'undeletable' => 'false', 'triggerable' => 'true', 'keyPrefix' => 'a0k', 'name' => 'x1', 'updateable' => 'false', 'feedEnabled' => 'false', 'mergeable' => 'false', 'searchable' => 'true', 'replicateable' => 'true', 'labelPlural' => 'x1s', 'activateable' => 'false', 'label' => 'x1' }, { 'custom' => 'true', 'deletable' => 'false', 'retrieveable' => 'true', 'layoutable' => 'true', 'queryable' => 'true', 'createable' => 'false', 'customSetting' => 'true', 'deprecatedAndHidden' => 'false', 'undeletable' => 'false', 'triggerable' => 'false', 'keyPrefix' => 'a16', 'name' => 'x2', 'updateable' => 'false', 'feedEnabled' => 'false', 'mergeable' => 'false', 'searchable' => 'true', 'replicateable' => 'true', 'labelPlural' => 'x2s', 'activateable' => 'false', 'label' => 'x2' }, { 'custom' => 'false', 'deletable' => 'true', 'retrieveable' => 'true', 'layoutable' => 'false', 'queryable' => 'true', 'createable' => 'true', 'customSetting' => 'false', 'deprecatedAndHidden' => 'false', 'undeletable' => 'false', 'triggerable' => 'false', 'keyPrefix' => '083', 'name' => 'x3', 'updateable' => 'false', 'feedEnabled' => 'false', 'mergeable' => 'false', 'searchable' => 'false', 'replicateable' => 'true', 'labelPlural' => 'x3s', 'activateable' => 'false', 'label' => 'x3' } ];
Then I can add it to a loop... I haven't added the piece that will kill the loop yet, just testing it out.my $tableattribute_ref=$sforce->describeGlobal()->result->{sobjects}[# +]{name};
Problem is this solution takes forever... (like 10 minutes). I already have an alternative where I bypass WWW::Salesforce completely and just use WWW::Curl::Share. It runs super fast but there's a lot more lines of code because I'm continually creating and submitting XML forms via Curl. I'd much rather use a packaged approach like WWW::Salesforce. Any advice would be much appreciated! Thank you so much for your time. -bigdatageekmy $count; $count = 0; while ($count >= 0) { $tableattribute_ref=$sforce->describeGlobal()->result->{sobjects}[$cou +nt]{name}; #This is where I can push names to an array $count++; }
In reply to Salesforce Data Parser by bigdatageek
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |