#!/usr/bin/env perl # # split a sentence into two roughly equal parts # use strict; use warnings; sub splitit { my $sentence = shift; my @words = split /(\s+)/, $sentence; my $doit; $doit = sub { my ($left, $right, @rest) = @_; if (@rest) { if (length($left) < length($right)) { return $doit->($left . shift @rest, $right, @rest); } else { return $doit->($left, pop(@rest) . $right, @rest); } } return $left, $right; }; return $doit->( '', '', @words); }