http://www.perlmonks.org?node_id=782167


in reply to Re^4: How do I quickly strip blank space from the beginning/end of a string?
in thread How do I quickly strip blank space from the beginning/end of a string?

$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.