sub mycheck { if (@_ == 0) { # No parameters passed, assume default @_ = (''); }; my ($db) = @_; ... }; #### sub mycheck { my ($db) = @_; $db = "" unless defined $db; # will always map undef to '' ... };