in reply to Check last character of a string
I need to check the last character of a sting. It needs to be \ or I have to add it.
I wrote a function some time ago which solved a more general problem: uncomp($s,$tail) returns $s if it already ends in $tail, and returns $s.$tail otherwise. In my case, I more often needed it to ensure that the string is ended in a newline, so I made this as a default: unchomp($s) is equivalent to unchomp($s,"\n"), but of course you can easily adapt this to your path separator.
sub unchomp { my ($s,$suffix) = (@_,"\n"); die("unchomp called on undef string") unless defined($s); die("unchomp called for undef suffix") unless defined($suffix); my $slen=length($suffix); substr($s,-$slen) eq $suffix ? $s : ($s.$suffix) }
|
|---|