use strict; use warnings; #why does a split on a zero-length lookahead split the string... print "lookahead:\n"; my $string = 'abcde'; for ( split ( /(?=.)/, $string ) ) { print "$_\n"; } #but a split on just . does nothing? print "just .:\n"; for ( split ( /./, $string ) ) { print "$_\n"; }