I have another subroutine, sub select_hashref { my $self = shift; my $dbh = $self->{dbh}; my ($select, $from, $where, $other) = @_;
my $sql="SELECT $select "; $sql.="FROM $from " if $from; $sql.="WHERE $where " if $where; $sql.="$other" if $other; # connect , or reuse $dbh, prepare and execute my $sth = $self->prepare($sql); my_warn $sql; $sth->execute or die "execute failed: $DBI::errst r"; my $hr = $sth->fetchrow_hashref(); $sth->finish(); $hr; } which returns to me EXACTLY what is in the SQL datbase (an encrypted password). I erased what I had a few moments ago, and replaced select_decode with sub select_decode { my $self = shift; my $dbh = $self->{dbh}; my ($select, $from, $where, $other) = @_; my $sql="SELECT DECODE($select,\'blah\') "; $sql.="FROM $from " if $from; $sql.="WHERE $where " if $where; $sql.="$other" if $other; # connect , or reuse $dbh, prepare and execute my $sth = $self->prepare($sql); my_warn $sql; $sth->execute or die "execute failed: $DBI::errst r"; my $hr = $sth->fetchrow_hashref(); $sth->finish(); $hr; } The only difference is the adding of DECODE() to the select string. Note -> A direct query of SELECT DECODE(PWORD,'blah') from techs where TECH='stout'; works perfectly and returns my decrypted password. I also tweaked the get_password routine: sub get_password { my $state = shift; my $row = $Sql->select_decode('PWORD', 'techs', "TECH=\"$state->{q}->{login_user}\" "); return $row->{PWORD}; } Now, if I change select_decode in get_password to select_hashref, I get returned to me the exact string from the SQL server, which is an encrypted password. As it is now, I get a blank return. AHG. Dennis -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]