diff --git a/dyndns.pl b/dyndns.pl index 63e0e71..f65e286 100755 --- a/dyndns.pl +++ b/dyndns.pl @@ -414,8 +414,8 @@ foreach my $d (@DNSDomain) { if ($d eq '!') { $d = $cgi->virtual_host; } elsif ($d eq '?') { $d = $cgi->param('domain'); } elsif ($d =~ /-?\d+/) { - if ($d <0) { $d = join('.', splice([ split(/\./, $cgi->virtual_host) ], $d)); } - else { $d = join('.', splice([ split(/\./, $host) ], ($d) ? -$d : 1)); } + if ($d <0) { $d = join('.', splice(@{[ split(/\./, $cgi->virtual_host) ]}, $d)); } + else { $d = join('.', splice(@{[ split(/\./, $host) ]}, ($d) ? -$d : 1)); } } $dnsdomain = $d if ($host && length($host) == length($d)+rindex($host,$d)); last if $dnsdomain;