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, |
In reply to Re: Deleting intermediate whitespaces, but leaving one behind each word
by Athanasius
in thread Deleting intermediate whitespaces, but leaving one behind each word
by Feneden
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |