#!/usr/bin/perl use strict; use warnings; { my @names = ( [ 'John Doe Joe', 1 ], [ 'John D', 1 ], [ 'John ', 0 ], [ 'John', 0 ], ); foreach my $lr (@names) { my ( $name, $success ) = @{$lr}; my @result = split( /\s/, $name ); if ( ( @result > 1 && $success ) || ( @result == 1 && !$success ) ) { print "$name split correctly, list has " . ( scalar @result ) . " elements. - "; } else { print "$name split incorrectly, list has " . ( scalar @result ) . " elements. - "; } print join('|',@result) . "\n"; } }