Yes, excellent! This worked quite well indeed.
system('sqlite3', $DB_FILE, '.read filename.sql')==0
or die "sqlite3 failed, \$?=$?";
The reason I wanted to do it this way is that the *.sql in question updates one table by summarizing plural columns from a plurality of other tables, building a number of temporary tables in the process. There are four such *.sql files for similar summaries, each one a whole page of SQL code, which itself never changes, and which I wished to keep from complicating my Perl.
The final query, to be issued from Perl, pulls already-summarized rows from the now easily updatable table. Thank you so much!