$x =~ /\s/
doesn't work. It should be
$x =~ /\s\z/
Bonus: The speed of fixed version won't depend on the length of the string like the broken one did.
if (rindex($x," ") == 0 || rindex($x,"\r") == 0 || rindex($x,"\n") == 0 || rindex($x,"\t") == 0)
doesn't work. It should be
if (rindex($x," ") == length($x)-1 || rindex($x,"\n") == length($x)-1 || rindex($x,"\t") == length($x)-1 || rindex($x,"\r") == length($x)-1)
Or just
my $ch = substr($x, -1); $ch eq " " || $ch eq "\n" || $ch eq "\t" || $ch eq "\r"
And then there's
length($x) && index(" \n\t\r", substr($x, -1)) >= 0
You should be concentrating on writing code that actually works before worrying about operations that take 0.00001 second.
In reply to Re^5: How do I quickly strip blank space from the beginning/end of a string?
by ikegami
in thread How do I quickly strip blank space from the beginning/end of a string?
by blahblahblah
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |