#! /usr/bin/perl # use strict; use warnings; use re 'eval'; my $str = do {local $/; }; $str =~ s/\s+//g; for (my $len = length $str; $len > 1; $len-- ) { $str =~ /(.{$len})(?{print "$1\n"})\b/; }