NAME

TAP::Parser::Utils - Internal TAP::Parser utilities

VERSION

Version 3.28

SYNOPSIS

  use TAP::Parser::Utils qw( split_shell )
  my @switches = split_shell( $arg );

DESCRIPTION

FOR INTERNAL USE ONLY!

INTERFACE

split_shell

Shell style argument parsing. Handles backslash escaping, single and double quoted strings but not shell substitutions.

Pass one or more strings containing shell escaped arguments. The return value is an array of arguments parsed from the input strings according to (approximate) shell parsing rules. It's legal to pass undef in which case an empty array will be returned. That makes it possible to

    my @args = split_shell( $ENV{SOME_ENV_VAR} );

without worrying about whether the environment variable exists.

This is used to split HARNESS_PERL_ARGS into individual switches.