@list = ( 'a' .. 'z' );
####
a b c d e, # arr[0]
f g h i j, # arr[1]
k l m n o, # arr[2]
p q r s t, # arr[3]
u v w x y, # arr[4]
z # arr[5]
####
#!usr/bin/perl
use strict;
use warnings;
my @list = ( 'a' .. 'z' );
my $string_chunk5 = _string_chunk5( @list );
my @array_chunk5 = _array_chunk5( @list );
print "String chunk of 5 =\n$string_chunk5\n";
print "Array chunk of 5 =\n@array_chunk5\n";
sub _string_chunk5 {
my @arr = @_;
return join( " ", @arr ) unless @arr > 5;
return join( " ", splice( @arr, 0, 5 ) ). ",\n" . _string_chunk5( @arr );
}
sub _array_chunk5 {
my @arr = @_;
# Base case == when @arr is <= 5
return ( join( " ", @arr ) ) unless @arr > 5;
# what goes here ?
}