es
  character(len=80)  :: s=' 10 20e3;3.45 -400.3e-2;1234; 5678 '
  integer,parameter  :: isz=10
  real               :: array(isz)

  call string_to_values(s,10,array,inums,' ;',ierr)
  call reportit()

  call string_to_values('10;2.3;3.1416',isz,array,inums,' ;',ierr)
  call reportit()

  contains
     subroutine reportit()
        write(*,*)'string_to_values:'
        write(*,*)'input string.............',trim(s)
        write(*,*)'number of values found...',inums
        write(*,*)'values..............