use locale; my $color = param('color') =~ /^\w+$/ ? param('color') : "default color"; #### my $color = "default color"; $color = param('color') if param('color') =~ /^\w+$/; #### use locale; sub is_alpha { my ($datum) = @_; # return "" so we don't get unitialized value errors $datum =~ /^(?:\w+)$/ ? $datum : ""; } my $color = is_alpha(param('color')) || "default value";