in reply to Ternary Operator for Multiple Arguments Passing

Slightly OT, but you can use Params::Validate module instead, like this (untested):
use Params::Validate; my ($based_on, $top) = validate_pos(@ARGV, { default => 'tp' }, { defa +ult => 1 });
--------------
badaiaqrandista