]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Spawn.pm
remove "no warnings 'once'" in a few places
[public-inbox.git] / lib / PublicInbox / Spawn.pm
index b946a66373b84faedaef1a71d02329a2cf8587fe..c64812ddf4a3fb01e6bb13f3c1489316a78693c1 100644 (file)
@@ -172,8 +172,7 @@ if (defined $vfork_spawn) {
 
 unless (defined $vfork_spawn) {
        require PublicInbox::SpawnPP;
-       no warnings 'once';
-       *pi_fork_exec = *PublicInbox::SpawnPP::pi_fork_exec
+       *pi_fork_exec = \&PublicInbox::SpawnPP::pi_fork_exec
 }
 
 sub which ($) {
@@ -193,17 +192,7 @@ sub spawn ($;$$) {
        my @env;
        $opts ||= {};
 
-       my %env = $opts->{-env} ? () : %ENV;
-       if ($env) {
-               foreach my $k (keys %$env) {
-                       my $v = $env->{$k};
-                       if (defined $v) {
-                               $env{$k} = $v;
-                       } else {
-                               delete $env{$k};
-                       }
-               }
-       }
+       my %env = $env ? (%ENV, %$env) : %ENV;
        while (my ($k, $v) = each %env) {
                push @env, "$k=$v";
        }