Bart Lateur wrote:
>
> On Mon, 14 Oct 2002 20:19:10 -0400 (EDT), Aaron J Mackey wrote:
>
> >Someone have a more "perlish", elegant, or just plain faster way of doing
> >something like this: split a string on white space, pop off the last 4
> >fields (perhaps to be used elsewhere), and then "rebuild" the original
> >string with the correct amount of intervening whitespace.
>
> You mean with the same amount of whitespace as before? None of the
> solutions I've seen does that.
>
> Perhaps this is one way:
>
> $_ = 'This is the string I want AND THIS IS BOLLOCKS';
> {
> my @end;
> push @end, $+[0] while/\S+/g;
> splice @end, -4;
> substr($_, pop @end) = "";
> }
> print;
>
> No, it's not really *that* elegant. But it does put two spaces between
> "is" and "the", just as in the original.
This is surely dicey if there are two elements the same?
Why not just:
s/(\s+\S+){4}\s*$//;
$1 for the chopped stuff.
Jasper
--
(Hunting a moth)
Hank Spim: Well, I follow the moth in the helicopter to lure it away
from the flowers, and then Roy comes along in the Lockheed
Starfighter and attacks it with air-to-air missiles.