At one of my previous jobs they hired a new guy not because he was qualified in any way for the job, but solely on the basis that he used to be a Russian rocket scientist during the Cold War.
Instead of doing the things required of his job, he spent 8 hours a day making calendars in MS Paint with various decorations for each month, printing them out, and handing them to everyone in the department. If he made a change to one month, he reprinted everything out again for everyone and went around swapping out the old calendars for the new ones.
He was fired in two weeks. For some reason, seeing this code reminded me of him. Good intentions, poor execution, completely irrelevant to the task at hand.
One of my elementary school teachers told me if I am going to spell a word wrong at least keep the same spelling throughout what I am writing. Glad to see someone else took that lesson to heart. (yes, yes "perimeter" is a real word...)
'Shortened name of the function due to errors on polling the function
Considering that the EXAMPLE USAGE shows what we can guess was the previous function name, and how the new name is needlessly verbose... yeah.
One of Visual Basic's many useful features is an Eval function, which executes any text string you hand to it as code. The original author is probably using Eval, and has discovered a limitation on length for the argument.
p_comment = "Guys take it easy on him. He obviously never dealt with perimeters before and was just experimenting with this advanced technology. I'd like to see any of you implement a function that uses perimeters!"
If p_comment = "" Then
p_comment = ""
p_comment = p_comment
I just appreciated the fact that the English output is still wrong.
13,387,281 rendered as words should read
"thirteen million three hundred eighty-seven thousand two hundred eighty-one". Note that the word "and" is not in there at all, and tens are properly hyphenated. :-)
Also, to render numbers correctly as words (with the hyphens and everything) is a harder trick than you might think.
Thankfully, standard English style dictates that you pretty much never spell out any numbers above nine.
So where would you need a library like this, unless your app writes checks?