The line that has the assignment to $DATAFUNCS{'registry-name'} is the key to the registry mechanism. It's what used to track the registry name to the your data module.
# Register the routine with the plugin registry
$DATAFUNCS{'cpu_queue'} = \&data_cpu_queue;
$CPU_QUEUE_DIR = "/var/spool/spong-queue"; # The spooling directory
sub data_cpu_queue {
my( $host, $service, $color, $start, $time, $sum, $message ) = @_;
if ( $service ne 'cpu' ) { return; }
my( $file ) = "$CPU_QUEUE_DIR/$host-" . time();
open(FH,"> $file") or
die("plugin::data_cpu_queue: Could not open file $file: $!");
print FH "hostname: $host\n";
print FH "color: $color\n";
print FH "start-time: $start\n";
print FH "last-update: $time\n";
print FH "summary: $sum\n";
print FH "message:\n$message\n";
close FH;
}
# I'm included perl code, I need this line.
1;
Please note the final line. It is always required for a module file.