Direct naming of processes in message communication is not desirable in distributed programming, because it requires a priori knowledge of sending and receiving process names. This not only complicates the construction of library or utility programs, but also is not suitable for a dynamic process creation environment. Indirect naming of processes in distributed message communication can be achieved either by introducing channels (ports) or by using process variables. This paper discusses how a new distributed programming language, COPL, achieves indirect naming effectively by using process variables without introducing shared objects, such as channels, in a distributed environment where dynamic process acitivation and selection of communicating partners are important.