NAME

IO::Async::Open3::Simple::Process - Process run using IO::Async::Open3::Simple

VERSION

version 0.01

DESCRIPTION

This class represents a process being handled by IO::Async::Open3::Simple.

ATTRIBUTES

pid

my $pid = $proc->pid;

Return the Process ID of the child process.

METHODS

print

$proc->print(@data);

Write to the subprocess' stdin.

Do NOT use this method if you have passed stdin via the $stdin argument on the IO::Async::Open3::Simple#run method.

Currently on (non cygwin) Windows (Strawberry, ActiveState) this method is not supported, so if you need to send (standard) input to the subprocess, you must pass it into the IO::Async::Open3::Simple#run method.

say

$proc->say(@data);

Write to the subprocess' stdin, adding a new line at the end.

Do NOT use this method if you have passed stdin via the $stdin argument on the IO::Async::Open3::Simple#run method.

Currently on (non cygwin) Windows (Strawberry, ActiveState) this method is not supported, so if you need to send (standard) input to the subprocess, you must pass it into the IO::Async::Open3::Simple#run method.

close

$proc->close

Close the subprocess' stdin.

user

$proc->user($user_data);
my $user_data = $proc->user;

Get or set user defined data tied to the process object. Any Perl data structure may be used. Useful for persisting data between callbacks, for example:

IO::Async::Open3::Simple->new(
  on_start => sub ($proc, $program, @args) {
    $proc->user({ prefix => '> ' });
  },
  on_stdout => sub ($proc, $line) {
    my $prefix = $proc->user->{prefix};
    say "$prefix$line";
  },
);

SEE ALSO

IO::Async::Open3::Simple

AUTHOR

Graham Ollis <plicease@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.