! Program Example from "Essential Fortran 90 & 95" by Loren P. Meissner
! Copyright 1996. Copying for sale requires permission from the author.
! Otherwise, distribution is permitted if these three lines are included.

  module I03M
    implicit none
    public :: Combine
   contains
    function Combine( First, Second ) result( Combine_R )
      character (len = *), intent(in) :: First, Second
      character (len = len_trim( First ) + 1 + len_trim( Second )) :: Combine_R
  ! start function Combine
      Combine_R = First(: len_trim( First )) // "|" // Second(: len_trim( Second ))
      return
    end function Combine
  end module I03M

