vladb has asked for the wisdom of the Perl Monks concerning the following question:
Good day, monks..
I'm working on a small parser and in this script I require a function that would be able to return a special 'escape' (excuse me for poor jargon) character (such as'\U' etc) based on the case of a string passed to the sub as the first parameter. So, if my string is in uppercase, the subroutine should return '\U', it should return '\L' otherwise.
For example,
The only problem that I'm facing now is how do I actually apply this escape character to a string? I've tried one obvious way in a sample code below but it didn't work:
would return '\U' escape character. I may then use it (or so I hope to) to format any other string (either uppercase or lowercase it) by simply prepending the escape character in an expression like this:my $esc_char = get_escape_case("S");
In this example (where $esc_char is '\U') $case_formatted_string should become 'FOOBAR' (since "S" is in uppercase).my $case_formatted_string = $esc_char ."FoobAr";
The only problem that I'm facing now is how do I actually apply this escape character to a string? I've tried one obvious way in a sample code below but it didn't work:
I guess I might have to use a special 'code' for the escape character? Could anyone lead me in the right path? Thank you. ;-)use strict; # determine case of a character # and return appropriate 'control' code. sub get_escape_case { my ($char) = @_; if ($char eq "\U$char") { return '\U'; } else { return '\L'; } } # this wouldn't work... print get_escape_case("S")."stuff\n"; # while this works.. print "\Ustuff\n";
"There is no system but GNU, and Linux is one of its kernels." -- Confession of Faith |
Back to
Seekers of Perl Wisdom