Few things should be said about ArmA and CaSE sENsiTiVity as it could be confusing at times leading to mistakes in code. So lets look at some examples.

_variable = "_var"; hint _VArIAblE; //shows "_var" variable = "var"; hint VARIaBLE; //shows "var" with missionNamespace do { hint variaBLE; //shows "var" }; hint (missionNamespace getVariable "VArIAbLe"); //shows "var" missionNamespace setVariable ["VARIABLE","VAR"]; hint variable; //shows "VAR" _funCTION = { hint "func"; }; null = [] spawn _functioN; //shows "func" funCtioN = { hint "func"; }; call FUNCtiON; //shows "func"

Variable names and ArmA commands are case insensitive. HINT, HiNt and hint will all work. Add to it config entries too.

_result = getText (configFile >> "cfgWeapons" >> "arifle_MXC_F" >> "displayname"); //_result is "MXC 6.5 mm" _result = GEetTeXT (coNfiGfile >> "CfgWEAPONs" >> "aRIFLE_mxc_f" >> "displayNAME"); //_result is "MXC 6.5 mm"

However for clarity and readability it is better to always follow the case. In fact as a rule of thumb, unless there is a special consideration not to, you are better off preserving case everywhere. The reason for this is that although straight forward string comparisons such as  == and != are case insensitive, you might unexpectedly end up with a need for case sensitive comparison somewhere down the road.

a = "HELLO"; b = "hello"; _result = if (a == b) then {"true"} else {"false"}; //_result is "true" _result = if (a != b) then [{"true"},{"false"}]; //result is "false"

If you want to force case sensitive comparison you can do it by changing normal comparison to array element comparison using in or even find, which both are case sensitive.

a = "HELLO"; b = "hello"; _result = if (a in [b]) then {"true"} else {"false"}; //_result is "false" _result = if !(a in [b]) then [{"true"},{"false"}]; //result is "true" _result = if (([b] find a) >= 0) then {"true"} else {"false"}; //_result is "false" _result = if (([b] find a) < 0) then [{"true"},{"false"}]; //result is "true"

Alternatively you can completely replace if/then with similar switch/case construct to achieve desired result.

a = "HELLO"; b = "hello"; _result = switch a do {case b : {"true"}; default {"false"}}; //_result is "false" b = "HELLO"; _result = switch a do {case b : {"true"}; default {"false"}}; //_result is "true"

And just in case you have a case sensitive comparison construct and need to force everything to one case, there are two useful commands you may want to remember toUpper and toLower.

a = "HeLlO"; a = toUpper a; //a is now "HELLO" a = toLower a; //a is now "hello" _array = ["MARK","STEVE","HENRY"]; _firstName = "Steve"; _result = _firstName in _array; //_result is false _result = (toUpper _firstName) in _array; //_result is true

If I missed something, feel free to let me know.

Enjoy,
KK