Comme nous l'avons vu, la procédure étant semi-perméable, ell va chercher dans le monde externe la valeur des objets qu'elle utilise. Pour éviter cette recherche il faut faire commencer le nom de l'objet par un point d'exclamation ("!"). Examinons les deux procédures suivantes dans lesquelles une erreur de frappe c'est glissée:
'DEBPROC' PASBELLE II*'ENTIER' JJ*'ENTIER'; AD = II + JJ; MU = II * JJ ; RES = MU - ADD; * la bonne ligne est : RES = MU - AD; 'FINPROC' RES ; 'DEBPROC' JOLIE II*'ENTIER' JJ*'ENTIER'; !AD = II + JJ ; !MU = II * JJ ; !RES = !MU - !ADD; * la bonne ligne est : !RES = !MU - !AD; 'FINPROC' MOD ; * utilisons maintenant ces procédures ADD = 456 ; !ADD = 456 ; K = 5 ; I = 3 ; X = PASBELLE K I ; Y = JOLIE K I ;L'appel à PASBELLE fournit un résultat qui vaut -441 ! Alors que l'appel à JOLIE provoque une erreur. Pour les gens très courageux, il est bon de donner un nom commençant par ! pour toutes les variables internes aux procédures, il en résulte une plus grande sureté.