use constant CREATE_IF_NOT_EXIST=>1; use constant NO_CREATE=>0; sub get_foo { my $flag=shift || 0; #..... } my $obj=get_foo(CREATE_IF_NOT_EXIST); my $obj_or_undef=get_foo(NO_CREATE);