MODULE Parole IMPLICIT NONE INTERFACE OPERATOR (+) MODULE PROCEDURE concatena END INTERFACE CONTAINS FUNCTION concatena(a,b) IMPLICIT NONE CHARACTER (LEN=*), INTENT(IN) :: a, b CHARACTER (LEN=(LEN_TRIM(a) + LEN_TRIM(b) + 1)) :: concatena concatena = TRIM(a)//" "//TRIM(b) RETURN END FUNCTION concatena END MODULE Parole PROGRAM Concatena_Parole USE Parole IMPLICIT NONE CHARACTER(80) :: r1, r2 PRINT*,"Trasmetti una frase:" READ(*,"(A)") r1 PRINT*,"... ora un'altra:" READ(*,"(A)") r2 PRINT*,"La scritta ",r1+r2 PRINT*,"e' diversa da ",TRIM(r1)//TRIM(r2) STOP "Fine esecuzione" END PROGRAM Concatena_Parole