#!/usr/local/bin/perl -w
use strict;
my $x = ['1','2',undef,undef,undef,'4'];
@$x = map { $_ ||= "" } @$x;
while (@$x) {
print ">", shift @$x, "<\n";
}
### This gives
>1<
>2<
><
><
><
>4<
####
$res = $dh->prepare($sql);
$res->execute();
my @dataset = ();
# Iterate over result set building up the result set
do {
while (my $data = $res->fetch()) {
if ($res->{syb_result_type} == CS_ROW_RESULT) {
if (defined $data) {
@$data = map {$_ ||= ""} @$data;
####
Modification of a read-only value attempted at TradeExtract.pl line 103 (#1)
(F) You tried, directly or indirectly, to change the value of a
constant. You didn't, of course, try "2 = 1", because the compiler
catches that. But an easy way to do the same thing is:
sub mod { $_[0] = 1 }
mod(2);
Another way is to assign to a substr() that's off the end of the string.
Uncaught exception from user code:
Modification of a read-only value attempted at TradeExtract.pl line 103.