I haven't dug into the BackupPC code to verify the exact method used, but it has to be using either do
, because the config files aren't limited to variable assignments. If you hand-edit them, they're also able to run arbitrary perl code.
The overall setup, for those unfamiliar with BackupPC, is that there's a main config.pl file containing a bunch of perl variable assignments representing the global configuration, and then each individual host that's backed up can, optionally, have a [hostname].pl file with additional variable assignments to override the global settings. Both config.pl and the [hostname].pl files can be edited through the CGI interface, which then uses Data::Dumper to overwrite the files with the new values.