Perl程序在使用system向sh终端写入数据后打印换行符的问题可以通过以下方式解决:
system("echo 'data' | sh");
print "\n"; # 打印换行符
my $result = system("echo 'data' | sh");
if ($result == 0) {
# 命令执行成功
} else {
# 命令执行失败
}
use IPC::Open3;
my $pid = open3(\*WRITE, \*READ, \*ERROR, "sh");
print WRITE "data\n";
close WRITE;
my $output = <READ>;
print $output;
close READ;
my $error = <ERROR>;
print $error;
close ERROR;
以上是针对防止Perl程序在使用system向sh终端写入数据后打印换行符的几种解决方案。根据具体的需求和场景,选择合适的方法来解决该问题。
领取专属 10元无门槛券
手把手带您无忧上云