sub ip { $_[0]->{ip} //= $_[1] // $_[0]->{conf}{ip} // '0.0.0.0' } sub port{ $_[0]->{port} //= $_[1] // $_[0]->{conf}{port} // '7800' } #### eval <[0] { \$_[0]->{$_->[0]} //= \$_[1] // \$_[0]->{conf}{$_->[0]} // \"$_->[1]\" } EOA