Well, I don't want to use named parameters for such a simple task.
Why not? It's not like they're difficult to implement/use in Perl. You could even use a mix of positional (required) parameters and named (optional) parameters:
my $success = $deployer->extend_order_lease( $order, $end_date, timeou
+t => $timeout );
There's also the option of making it an optional positional parameter, but that tends to be a bad idea, due to things getting messy if you add more optional parameters down the road.
my $success = $deployer->extend_order_lease( $order, $end_date[, $time
+out] );