May 26, 2018
Check for errors when running a command through multiple pipes
Normally if a part of a pipe fails, depending on the location, it won’t be detected. This breaks down a command involving pipes and runs each command separately.
It uses open3 to run each chunk of the pipe.
use IOMultiPipe; my $pipes = IOMultiPipe->new; #This sets the pipe that will be run. $pipes->set'sed s/-// | sed s/123/abc/ | sed s/ABC/abc/'; if $pipes->error print "Error!\n"; #'123-ABCxyz' through the command set above. my $returned=$pipes->run'123-ABCxyz';