SQLite Forum

(Deleted)
Login
I'm having trouble trying to do a case-sensitive query using Perl to access an sqlite3 DB.
My situation involves artist names, most of which begin with an upper-case letter, but others begin with a lower case letter.
For example 'Dead Can Dance' and 'dZihan & Kamien'.
I have a web page that offers a group of clickable buttons containing the first letter of an artists's name. This helps in organizing and finding an artist.
The page renders correctly - I have a 'D' button and a 'd' button. But when clicked, both give me ALL artists beginning with EITHER letter. The sqlite DB does seem to be making a case-sensitive search.
Some research has lead me to 'PRAGMA case_sensitive_like = 1;'.
This does work in the CLI, but how do I implement it in Perl?
I've tried 
<code>
$dbh=DBI->connect("dbi:SQLite:$dbname","","",{RaiseError=>1,PrintError=>1,sqlite_unicode=>1,case_sensitive_like=>1});
</code>
and my query:
<code>
$sth=$dbh->prepare(qq{select artists.name,artists.artistid,cds.genre from artists,cds where artists.artistid = cds.artistid and name like ? group by name,artists.artistid,cds.genre order by artists.name;})  or die "Can't prepare statement: $DBI::errstr\n";
$sth->execute('$ArtistLetter%')     or die "Can't execute statement: $DBI::errstr\n";
warn $DBI::errstr if $DBI::err;
while (@records=$sth->fetchrow_array()) {
.
.
.
}
$sth->finish();
</code>
When my script runs (Apache on a local server (High Sierra), the address bar in Safari shows the letter searched as 'D' or 'd', but the result is 0 for both.
Can anyone explain how to implement this (or any) PRAGMA correctly in Perl please?