Чтение раздела о PRAGMA в документации DBD :: SQLite , похоже, вы устанавливаете PRAGMA в неправильное время.Он не должен быть частью строки подключения, а должен быть командой SQL, которая запускается после подключения.
my $driver = "SQLite";
my $database = "C:\\Sample\\Sample_Sqlite\\Activities.db3";
my $dsn = "DBI:$driver:dbname=$database";
print $dsn;
my $dbh = DBI->connect(
$dsn,
{ RaiseError => 1 },
) or die $DBI::errstr;
$dbh->do('PRAGMA journal_mode=WAL');
Обновление: Вероятно, также стоит отметить, что journal_mode
настройка постоянна.Так что вам нужно установить его только один раз, и тогда вы сможете полностью удалить его из кода подключения.