Это очень субъективно, и лучший ответ будет во многом зависеть от того, насколько хорошо он соответствует вашему стилю кодирования, но я все равно брошу свою шляпу на ринг.
Мой фаворит для заданий со значениями по умолчанию - третичный оператор:
my $x = ($data =~ s/(foo)//) ? $1 : 'defaultvalue';
Хотя оператор new (ну, а не тот новый, введенный в 5.10) «определен или» во многих случаях может снизить потребность в третичном утверждении. Я обычно использую это так:
my $var = defined($candidate) ? $candidate : 'default';
Но теперь это можно упростить до:
my $var = $candidate // 'default';
или
my $var = 'default';
$var //= $candidate;