Multisplit: Difference between revisions

→‎{{header|Perl}}: simplified perl solution
(Go solution)
(→‎{{header|Perl}}: simplified perl solution)
Line 380:
sub multisplit {
my ( $string , $pattern ) = @_ ;
split( /($pattern)/, $string, -1 ) ;
my @found ;
while ( $string =~ /([^=!]*)(($pattern)+?)/g ) {
push @found , $1 ;
push @found , $2 ;
}
#next line to enforce showing of last character
push( @found , substr( $string, length( $string ) - pos( $string ) - 1 ) ) ;
return @found ;
}
 
my $phrase = "a!===b=!=c" ;
my $pattern = "==|!=|=" ;
map { print "$_ ," }foreach multisplit( $phrase , $pattern ) ;
print "\n" ;</lang>
Output:
Anonymous user