sub def { return defined $_[0] ? $_[0] : def($_[1],""); }