in reply to Re^3: Can't connect to data source 'DBI:SQLite:\C:\Users\DON\Desktop\data.db
in thread pp concatenate path

PS: your comparison (with "<:encoding(UTF-8)")

if ($dbfile1 eq $dbfile2){ print "same\n";} else {print "different\n";}

returns always same, both in the version compiled with pp and in the script version! So I do not really understand where the problem lies!

Replies are listed 'Best First'.
Re^5: Can't connect to data source 'DBI:SQLite:\C:\Users\DON\Desktop\data.db
by huck (Prior) on Apr 21, 2018 at 08:28 UTC

    I suspect it means that DBI has problems dealing with connect strings marked as UTF

      if you suspect then you don't know

      It is silly to suspect DBI has a problem with unicode, if DBI did, it would manifest for OP without PAR

      DBI does not have a problem with unicode in a dsn, it simply doesn't care,

      As previously stated, the problem as reported by OP is unreproducible

      This is where the error comes from

      # extract dbi:driver prefix from $dsn into $1 $dsn =~ s/^dbi:(\w*?)(?:\((.*?)\))?://i or '' =~ /()/; # ensure $1 etc are empty if match fails my $driver_attrib_spec = $2 || ''; # Set $driver. Old style driver, if specified, overrides new dsn s +tyle. $driver = $old_driver || $1 || $ENV{DBI_DRIVER} or Carp::croak("Can't connect to data source '$dsn' " ."because I can't work out what driver to use " ."(it doesn't seem to contain a 'dbi:driver:' prefix " ."and the DBI_DRIVER env var is not set)");