Yay Perl! My favorite language. DBD::SQLite is definitely one of the better, fuller featured sqlite bindings out there. Though Tom is using perl6, not perl5. I have no idea how its version compares.
(At the risk of going off topic, File::Slurp has issues. File::Slurper is a better alternative.) On Wed, Apr 3, 2019, 12:08 AM Rob Willett <rob.sql...@robertwillett.com> wrote: > Tom, > > We use the Perl DB::SQLite module. It works very well and I cannot > recall a single issue with it in the last four years. There's not as > much support for Perl on this mailing list as it's not as popular, but > most issues you will probably encounter will be at the design level > rather than at the CPAN module level. Our working assumption is that if > the DBI module looks like it has an issue, it doesn't and it's our code. > Pretty much the same as for SQLite. Whilst I know that SQLite has had > bugs, the chances of us finding them is minimal, so we assume it's our > code again. > > However I can say that we use Perl for all our system code and use > SQLite within it and its fast and easy. > > If you're using Perl, I would also recommend the following other > modules, this is a direct pull from our code. I've removed our code > specific modules. > > ``` > #!/usr/bin/perl -w > > use strict; > use warnings; > > use Switch; > use DBI; > use JSON; > use Getopt::Long; <-- Easiest way to get command line args in and > processed. > use Data::Dumper; <-- Utterly essential, don't leave home without > it. > use Mojolicious::Lite; <-- Only need if you making a REST based server > use Mojo::Parameters; <-- Only need if you making a REST based server > use Mojo::URL; <-- Only need if you making a REST based server > use Mojo::Log; <-- Only need if you making a REST based server > use REST::Client; <-- More rest based stuff > use Sereal::Encoder qw(encode_sereal sereal_encode_with_object); > use Sereal::Decoder qw(decode_sereal sereal_decode_with_object > scalar_looks_like_sereal); > use DateTime; <-- Manage date and time properly. > use Net::Curl::Easy; > use Crypt::Random qw( makerandom ); > use Log::Log4perl qw(get_logger :levels); > use File::Path qw(make_path); <-- Quick and easy way to make paths and > directories. > use Net::Address::IP::Local; <-- Easy way to manipulate IP addresses. > use File::Slurp; <-- Quick and easy way to read and write files. > use Clone 'clone'; <-- You'll use a lot of objects and structures. Copy > them properly and fast. > > ``` > > We use Log4Perl a lot as it's easy to get things setup and then you can > modify one log file and get easy changes. Also we use Mojolicious for > all the REST code wrapping. > > These are tried and tested CPAN modules that we know just work for us > and are a standard part of every new build. The most awkward one if the > curl one, there seems to be a lot of versions of the Curl::Easy stuff > which simply don't work on Mac OS X (or other OS's). > > Just my 2p worth. > > Rob > > On 3 Apr 2019, at 0:21, Tom Browder wrote: > > > On Tue, Apr 2, 2019 at 17:30 am...@juno.com <am...@juno.com> wrote: > > > >> You might want to import everything into SQLite Studio or SQLite > >> Suite I > >> forget the exact name)--a freebie on the internet. I found it worked > >> for > >> me. In order to help others, I would appreciate it if you tell us on > >> this > >> usergroup how you made out. May it work for you. Peace! Alex > > > > > > Thanks for the idea, Alex. > > > > I'm doing all programmatically at the moment (using a Perl 6 module: > > DB::SQLite), but using one of those tools you mentioned would help in > > design for sure! > > > > -Tom > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users@mailinglists.sqlite.org > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users