in reply to Re^2: backslash found where operator expected at
in thread backslash found where operator expected at

Further to haj's reply ...

According to the code examples posted so far in this thread, SES::call_ses does not appear to be a method of the SES class, so assigning to a $self variable, which is, by convention, usually used to denote an object reference to or the class name of a class method, makes no sense.

In the invocation
    my ($response_code, $response_content) = SES::call_ses \%params, \%opts;
\%params is not a bless-ed reference (i.e., an object reference) of any kind, so don't treat it as such in a call to $self->AWS_endpoint in the

sub call_ses { my $self = shift; ... my $endpoint_name = $self->AWS_endpoint; }
function.

SES::call_ses seems to be an ordinary subroutine defined in the SES package. This subroutine does not seem to be exported, so it must be invoked via the fully-qualified SES::call_ses syntax. According to the error message, this subroutine was called with two arguments, so shifting three arguments off of the @_ argument array will leave someone holding an undefined bag. Don't do that.


Give a man a fish:  <%-{-{-{-<

Replies are listed 'Best First'.
Re^4: backslash found where operator expected at
by jmc (Initiate) on May 06, 2021 at 22:11 UTC
    Thanks Haj for the breakdown.