if(length $string>256){ # remove trailing spaces while (length $string>256 && $string=~m/(?:^\s)*\s+$/){ $string =~ s/(.*)\s$/$1/; } # remove beginning spaces while (length $string>256 && $string=~m/^\s+[^\s]/){ $string =~ s/^\s(.*)/$1/; } # anything else if (length $string >256){ $string = substr($string,0,256); } }