Binary package “libpackage-variant-perl” in ubuntu xenial

parameterizable packages

 Package::Variant allows you to build a variable package that contains a
 package template and can use it to build variant packages at runtime.
 .
 Your variable package will export a subroutine which will build a
 variant package, combining its arguments with the template, and return
 the name of the new variant package.
 .
 The implementation does not care about what kind of packages it builds,
 be they simple function exporters, classes, singletons or something
 entirely different.