== Why is this an issue?

Portability issues may restrict which characters should be used in an identifier. 


This rule checks identifier names against a regular expression of disallowed characters. Due to a technical limitation, the COBOL analyzer is not able for the time-being to differentiate lowercase from uppercase characters.


=== Noncompliant code example

With the default regular expression ``++[^a-zA-Z0-9-]++``:

[source,cobol]
----
MOVE DATA-1 TO DATA_2 *> Noncompliant; '_' not allowed
----


=== Compliant solution

[source,cobol]
----
MOVE DATA-1 TO DATA-2 
----


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Remove the prohibited characters from the identifier "{...}".


=== Parameters

.regex
****

----
[^a-zA-Z0-9-]
----

Regular expression to be used to detect prohibited characters
****


'''
== Comments And Links
(visible only on this page)

=== on 12 Apr 2016, 20:37:11 Ann Campbell wrote:
\[~pierre-yves.nicolas] I just came across this rule and I'm wondering if this part is still true:

____
Due to a technical limitation, the COBOL analyzer is not able for the time-being to differentiate lowercase from uppercase characters.

____

=== on 14 Apr 2016, 09:59:56 Pierre-Yves Nicolas wrote:
\[~ann.campbell.2] This limitation still exists.

endif::env-github,rspecator-view[]
