use strict; use warnings; use IPC::Open3; #my $result = system("C:\\Programme\\Tor\\tor.exe &"); #print "sleeping"; #sleep(3); my ($WR1, $RD1, $ER1); my $tor_fhs = {}; my $pid = start_tor($tor_fhs); sleep 1; stop_tor($tor_fhs); sub start_tor { my $tor_fhs = shift; open3( $tor_fhs->{wr}, $tor_fhs->{rd}, $tor_fhs->{err}, "C:\\Programme\\Tor\\tor.exe" ); print "tor started\n"; return $pid; } sub stop_tor { my $tor_fhs = shift; close($tor_fhs->{wr}); local($/) = undef; close($tor_fhs->{rd}); #close($ER1); print "tor stopped\n"; }