NAME

Bat::Interpreter::Delegate::Executor::DryRunner

VERSION

version 0.025

SYNOPSIS

use Bat::Interpreter;
use Bat::Interpreter::Delegate::Executor::DryRunner;

my $dry_runner = Bat::Interpreter::Delegate::Executor::DryRunner->new;

my $interpreter = Bat::Interpreter->new(executor => $dry_runner);
$interpreter->run('my.cmd');

print Dumper($dry_runner->commands_executed);

DESCRIPTION

This executor tries to get all the commands that are going to be executed, that is, it's like every command gets "echoed" in the "standard output" as an array of lines

The commands printed can be different to the real execution if the bat/cmd file makes some sort of conditional using ERRORLEVEL

NAME

Bat::Interpreter::Delegate::Executor::DryRunner - Executor for register all commands that get executed

METHODS

commands_executed

Returns an arrayref to the commands that are going to be executed but not part of a for command (aka: backticks executed in perl)

add_command

Add a command to the list of commands executed

for_commands_executed

Returns an arrayref to the commands that are going to be executed as part of a for command (aka: bacticks executed in perl)

add_for_command

Add a for command to the list of for commands executed

execute_command

Execute general commands.

This executor just register the command in the attribute: commands_executed

execute_for_command

Execute commands for use in FOR expressions. This is usually used to capture output and implement some logic inside the bat/cmd file.

This executor can't return the output so it always returns empty string

AUTHOR

Pablo Rodríguez González <pablo.rodriguez.gonzalez@gmail.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2022 by Pablo Rodríguez González.

This is free software, licensed under:

The MIT (X11) License