--- BackupPC-3.3.1/lib/BackupPC/Lib.pm.orig 2016-12-22 14:40:02.589015927 +0100
+++ BackupPC-3.3.1/lib/BackupPC/Lib.pm 2016-12-22 14:41:37.511427617 +0100
@@ -1261,7 +1261,7 @@
#
# Replace scalar variables first
#
- $arg =~ s[\${(\w+)}(\+?)]{
+ $arg =~ s[\$\{(\w+)}(\+?)]{
exists($vars->{$1}) && ref($vars->{$1}) ne "ARRAY"
? ($2 eq "+" ? $bpc->shellEscape($vars->{$1}) : $vars->{$1})
: "\${$1}$2"
@@ -1270,7 +1270,7 @@
# Now replicate any array arguments; this just works for just one
# array var in each argument.
#
- if ( $arg =~ m[(.*)\${(\w+)}(\+?)(.*)] && ref($vars->{$2}) eq "ARRAY" ) {
+ if ( $arg =~ m[(.*)\$\{(\w+)}(\+?)(.*)] && ref($vars->{$2}) eq "ARRAY" ) {
my $pre = $1;
my $var = $2;
my $esc = $3;
@@ -1295,7 +1295,7 @@
sub cmdExecOrEval
{
my($bpc, $cmd, @args) = @_;
-
+
if ( (ref($cmd) eq "ARRAY" ? $cmd->[0] : $cmd) =~ /^\&/ ) {
$cmd = join(" ", @$cmd) if ( ref($cmd) eq "ARRAY" );
print(STDERR "cmdExecOrEval: about to eval perl code $cmd\n")
@@ -1336,7 +1336,7 @@
my($bpc, $cmd, $stdoutCB, $ignoreStderr, $pidHandlerCB, @args) = @_;
my($pid, $out, $allOut);
local(*CHILD);
-
+
$? = 0;
if ( (ref($cmd) eq "ARRAY" ? $cmd->[0] : $cmd) =~ /^\&/ ) {
$cmd = join(" ", @$cmd) if ( ref($cmd) eq "ARRAY" );