Why stop with a "root connection with core Perl code"? Perl is an abstraction. SQL is an abstraction.
Because Perl and SQL are my starting-points as a programmer. I'm not interested in the details below my point of entry but neither do I wish to do most of my work in an abstraction layer which is too far removed from the core language. I know TIMTOWTDI at the end of the day but I just wonder how far the abstracting goes before you get layers built with, say, Maypole as one of the dependencies and all you have to write is:
#!/usr/bin/perl
use Application;
use strict;
my $app = new Application;
$app->build($data);