use Function::Parameters; # works with App::Rad, while Kavorka doesn't fun add ($c) { my ($data, $data_type) = @{_process_data($c)}; my ($name) = @{$c->argv}; $data->add($name); } # $data is a wrapper object to a csv file: person.csv / bank.csv / etc # This way I can delegate the work to these different entities # $data_type is not used here, but could be used to display a message