package App::Reprove; use App::Prove; use LWP::Simpe; require Exporter; our @ISA = qw[ Exporter ]; our @EXPORT = qw[ doit ]; sub doit { my %arg = @_; ## maybe a little validation my $file1 = get delete $args{ file1 }; my $file2 = get delete $args{ file2 }; ## do whatver you do with the file contents... App::Prove->new( %args )->run } 1;