fix LocalSudo, broken in 2012 by mst being an idiot
[scpubgit/Object-Remote.git] / lib / Object / Remote / Connector / LocalSudo.pm
index 81868fc..47dead4 100644 (file)
@@ -1,5 +1,5 @@
 package Object::Remote::Connector::LocalSudo;
-       
+
 use Object::Remote::Logging qw (:log :dlog);
 use Symbol qw(gensym);
 use Module::Runtime qw(use_module);
@@ -25,11 +25,12 @@ has sudo_perl_command => (is => 'lazy');
 
 sub _build_sudo_perl_command {
   my ($self) = @_;
-  return
+  return [
     'sudo', '-S', '-u', $self->target_user, '-p', "[sudo] password please\n",
     'perl', '-MPOSIX=dup2',
             '-e', 'print STDERR "GO\n"; exec(@ARGV);',
-    $self->perl_command;
+    @{$self->perl_command},
+  ];
 }
 
 sub _start_perl {
@@ -69,7 +70,7 @@ sub _start_perl {
                       if (sysread($sudo_stderr, my $buf, 32768) > 0) {
                         log_trace { "LocalSudo: successfully read data, printing it to STDERR" };
                         print STDERR $buf;
-                        log_trace { "LocalSudo: print() to STDERR is done" };                   
+                        log_trace { "LocalSudo: print() to STDERR is done" };
                       } else {
                         log_debug { "LocalSudo: received EOF or error on file handle, unwatching it" };
                         Object::Remote->current_loop