perl-unicode

Re: 2 Suprises w/5.8.0 (Unicode)

2002-08-01 09:30:05
On Thu, Aug 01, 2002 at 10:09:58AM +0200, Andreas J. Koenig wrote:

A wrapper-function for fetchrow_array and fetchrow_hashref when the
database contains only UTF-8:

  sub fetchrow {
    my($self,$sth,$what) = @_; # $what is one of fetchrow_{array,hashref}
    if ($] < 5.007) {
      return $sth->$what;
    } else {
      require Encode;
      if (wantarray) {
        my @arr = $sth->$what;
        for (@arr) {
          defined && /[^\000-\177]/ && Encode::_utf8_on($_);
        }
        return @arr;
      } else {
        my $ret = $sth->$what;
        if (ref $ret) {
          for my $k (keys %$ret) {
            defined && /[^\000-\177]/ && Encode::_utf8_on($_) for $ret->{$k};
          }
          return $ret;
        } else {
          defined && /[^\000-\177]/ && Encode::_utf8_on($_) for $ret;
          return $ret;
        }
      }
    }
  }

Umm. Of course that'll break if the driver start doing it itself.

Tim.

<Prev in Thread] Current Thread [Next in Thread>