s/^\s+(.*?)\s+$/$1/; # fails sometimes
s/^\s*(.*?)\s*$/$1/; # succeeds, but slow
s/^\s*(.*\S)\s*$/$1/; # fails sometimes
s/^\s*//, s/\s*$//; # succeeds, but WHY use * ?
s/^\s+//, s/\s+$//; # succeeds, but is it good?
####
$_ = "a b c d "; # 1, 2, 3, 4 spaces
s/\s+$//;
=pod
A = \s+
B = $
X = fail
"a b c d "
AX
AAX
AAAX
AAAA
####
($_ = reverse) =~ s/^\s+//; $_ = reverse;
####
1 while s/\s$//;