[root@itx2 ~]# perl x7.pl /opt/asd/sql/dbi-indexed-GeoLite2.db-sqlite-old Database fully qualified path of existing SQLite DB -> /opt/asd/sql/dbi-indexed-GeoLite2.db-sqlite-old Database data source name for connect -> DBI:SQLite:dbname=/opt/asd/sql/dbi-indexed-GeoLite2.db-sqlite-old Simple database handle in $dbh from connect -> DBI::db=HASH(0x561e4b5e5480) and DB is now open Simple database handle in non-shared Hash, $Sdatabase -> /opt/asd/sql/dbi-indexed-GeoLite2.db-sqlite-old and $hash{"$Sdatabase"} -> DBI::db=HASH(0x561e4b5e5480) 1 -> 511665 Try to get simple database handle in shared scalar $int via shared_clone(\$dbh) -> REF(0x561e4b2b9570) <- the original handle is gone and now we have a reference Try to get shared scalar $int database handle into a non-shared Hash $Sdatabase -> /opt/asd/sql/dbi-indexed-GeoLite2.db-sqlite-old and $hash{"$Sdatabase"} -> REF(0x561e4b2b9570) <- works but we have a reference and not the handle Try to get shared scalar $int database handle into a shared Hash $Sdatabase -> /opt/asd/sql/dbi-indexed-GeoLite2.db-sqlite-old has $hsh{"$Sdatabase"} -> REF(0x561e4b5e5630) <- BUT the simple = results in some other reference Can't call method "prepare" on unblessed reference at x7.pl line 66. [root@itx2 ~]#