Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: Access LWP method when using WWW::Salesforce::Simple module

by sundialsvc4 (Abbot)
on Jun 29, 2013 at 13:38 UTC ( #1041465=note: print w/replies, xml ) Need Help??

in reply to Access LWP method when using WWW::Salesforce::Simple module

Well, yes.   But first, let’s clear up a basic misunderstanding about what use does.   Strictly speaking, this directive introduces Perl to the idea that “this” package will use “that” one.   Which you must do, in order to refer to it, i.e. to any objects or constants that it defines.   But (a little hand-waving here) the use statement does not, by itself, do anything.

In your program, write one package whose job it is to create on-demand and then re-use a so-called “singleton” instance of an object that everyone else in the program can get ahold of, simply by useing your package and calling your routine.   It can be something like this:

package myFactory; my $handle = undef; # NO ONE OUTSIDE THIS PACKAGE 'SEES' THIS sub factory { $handle = WWW::SalesForce::Simple->new() ... ## blah blah unless defined($handle); # NOTICE 'UNLESS' .. ONLY TRUE FIRST + TIME return $handle; } 1; # ALL PACKAGES MUST 'RETURN TRUE' }

Anywhere else in your program that calls myFactory::factory will get the same object instance, representing a connection to SalesForce.   So, no one has to “pass it around” like some hot-potato, and a bunch of repetitive connections (which would not know about one another) don’t get created.   By means of this object (instance), you can now call its methods to get work done.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1041465]
and monks are getting baked in the sun...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2018-06-19 04:48 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (111 votes). Check out past polls.