On Wed, May 08, 2013 at 10:58:02AM -0700, fe...@crowfix.com wrote:
On Wed, May 08, 2013 at 09:43:27AM -0700, Bill Ward wrote:
Cool. That whole scalar vs list context thing is one of Perl's biggest
strengths, but also one of its biggest weaknesses (in that it is a common
source of bugs like
Getting the error:
DBD::Oracle::st execute failed: called with 3 bind variables when 4 are needed
[for Statement insert into employee_fte_annualrate_l (emplid, emptype_cd, fte,
annual_rate) values(?,?,?,?) with ParamValues: :p1='22057713', :p2='R',
:p3='1', :p4='47311'] at
My guess is that get_value() is returning an empty array rather than an
undef scalar when the values are null. Try copying each one to a scalar
variable and including the list of variables in the execute(). It'd be more
readable that way anyway. Or if you must put them all one one line like
this,
Well, changing the code to:
my $eid=$mesg-entry($n)-get_value('emplId');
my $etp=$mesg-entry($n)-get_value('employeeType');
my $efte=$mesg-entry($n)-get_value('employeeFTE');
my $ear=$mesg-entry($n)-get_value('employeeTotalAnnualRate');
$csr_emp_info-execute($eid,$etp,$efte,$ear);
like
Cool. That whole scalar vs list context thing is one of Perl's biggest
strengths, but also one of its biggest weaknesses (in that it is a common
source of bugs like this). When you see head-scratching problems, it's one
of the first things to look for.
On Wed, May 8, 2013 at 9:39 AM, Bruce
On Wed, May 08, 2013 at 09:43:27AM -0700, Bill Ward wrote:
Cool. That whole scalar vs list context thing is one of Perl's biggest
strengths, but also one of its biggest weaknesses (in that it is a common
source of bugs like this). When you see head-scratching problems, it's one
of the first
On May 8, 2013, at 10:58 AM, fe...@crowfix.com wrote:
Is that what's going on here -- the original code imparted a list
context, which triggered another perl gotcha, whereby missing list
values simply disappear:
And I remember now the reason the error message is confusing, I'll bet that
On Wed, 8 May 2013 09:30:18 -0700
Bill Ward b...@wards.net wrote:
My guess is that get_value() is returning an empty array rather than
an undef scalar when the values are null. Try copying each one to a
scalar variable and including the list of variables in the execute().
It'd be more
On Wed, May 08, 2013 at 02:04:37PM -0400, Derek Jones wrote:
Huh?
That produces 6 - as it should. What version of Perl are you working with?
On May 8, 2013, at 1:58 PM, fe...@crowfix.com wrote:
scalar(1,2,,4,,6)
You are right -- but this produces 4 first, as I had always thought it
It shows 6 because a comma-separated literal list, when interpreted as a
scalar, evaluates to the final value in the list, not the length of the
list. If you evaluate scalar(1,2,,4,,7), it will equal 7. That's the
comma operator at work-- even though it looks like a list (and both use
commas),
On Wed, May 08, 2013 at 06:22:09PM -0700, James Marshall wrote:
It shows 6 because a comma-separated literal list, when interpreted as a
scalar, evaluates to the final value in the list, not the length of the
list. If you evaluate scalar(1,2,,4,,7), it will equal 7. That's the
comma operator
Hi all,
You are right -- but this produces 4 first, as I had always thought it
would, and then 6, as I don't quite understand. I would never use
that kind of expression, and I sorta maybe understand why it says 6,
but only in hindsight.
#!/usr/bin/perl
my @ary = (1,2,,4,,6);
12 matches
Mail list logo