Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

split

Splits a string into a list of substrings using a pattern.

Splits EXPR (or $_ if omitted) into substrings at each match of PATTERN. If LIMIT is positive, returns at most LIMIT fields. If LIMIT is negative, behaves as if arbitrarily large. If LIMIT is zero or omitted (default), trailing empty fields are stripped.

Special case: split ' ' (with pmflags & 0x800) uses awk-style semantics – splits on runs of whitespace and ignores leading whitespace. An empty pattern (split //, $str) splits every character.

If a split_targ is set in the op, results are stored directly into the target array (pad slot) instead of the stack. In scalar context, returns the number of fields.

Synopsis

@fields = split /PATTERN/, EXPR, LIMIT;
@fields = split /PATTERN/, EXPR;
@fields = split /PATTERN/;           # splits $_
@fields = split ' ', $string;        # awk-style split
my $count = split /,/, $csv;         # scalar context: count

See Also

join, m//g, perlre