in reply to Deleting intermediate whitespaces, but leaving one behind each word
Hello Feneden, and welcome to the Monastery!
No need for the join, just replace each occurrence of one or more whitespace characters with a single character:
16:30 >perl -wE "my $s = 'Intel(R) Xeon(R) CPU X5660 2.80GHz + '; $s =~ s/(\s)+/$1/g; say qq[>$s<];" >Intel(R) Xeon(R) CPU X5660 2.80GHz < 16:33 >
Update: Looking again at the thread title, it appears you may also want to remove trailing whitespace at the end of the string:
use strict; use warnings; my $s = 'Intel(R) Xeon(R) CPU X5660 2.80GHz '; $s =~ s{ (\s)+ }{$1}gx; $s =~ s{ \s+ $ }{}x; print "\n>$s<\n";
Output:
17:26 >perl 1843_SoPW.pl >Intel(R) Xeon(R) CPU X5660 2.80GHz< 17:26 >
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Deleting intermediate whitespaces, but leaving one behind each word
by Feneden (Acolyte) on Dec 05, 2017 at 07:50 UTC | |
by nysus (Parson) on Dec 05, 2017 at 08:58 UTC |