in reply to backticks and system()
Hello ytjPerl,
From the documentation system:
my @args = ("command", "arg1", "arg2"); system(@args) == 0 or die "system @args failed: $?";
Have you tried something similar? (Not Recommended)
my @args = qw(Runbatch.exe -j dpsgl -r dpstst); system(@args) == 0 or die "system @args failed: $?";
Have you tried something similar? (Recommended)
my @args = ('Runbatch.exe', '-j', 'dpsgl', '-r', 'dpstst'); system(@args) == 0 or die "system @args failed: $?";
If there is an error on the command it will be printed through the die command.
Also for general information fellow Monk haukex has written a very interesting tutorial Re: curl without backticks and system() (updated x2).
Update: I forgot to add the reason that why my proposed solution I believe it will work for your case. Sample below:
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @args = ('Runbatch.exe -j dpsgl -r dpstst'); my @argsUpdated = qw(Runbatch.exe -j dpsgl -r dpstst); print Dumper \@args, \@argsUpdated; __END__ $ perl test.pl $VAR1 = [ 'Runbatch.exe -j dpsgl -r dpstst' ]; $VAR2 = [ 'Runbatch.exe', '-j', 'dpsgl', '-r', 'dpstst' ];
Update 2: Based on useful links that haukex and afoken provided the system command that I presented above it looks to have the same affect as a single quote (string). So proposed solution if you wish to use system would be like this (see below):
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @args = ('Runbatch.exe -j dpsgl -r dpstst'); my @argsUpdated = ('Runbatch.exe', '-j', 'dpsgl', '-r', 'dpstst'); print Dumper \@args, \@argsUpdated; __END__ $ perl test.pl $VAR1 = [ 'Runbatch.exe -j dpsgl -r dpstst' ]; $VAR2 = [ 'Runbatch.exe', '-j', 'dpsgl', '-r', 'dpstst' ];
Where you explicitly define the list of commands.
Hope this helps, BR.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: backticks and system() (Updated)
by haukex (Archbishop) on Mar 29, 2019 at 12:58 UTC | |
by afoken (Chancellor) on Mar 30, 2019 at 16:00 UTC | |
by thanos1983 (Parson) on Mar 31, 2019 at 11:18 UTC | |
by thanos1983 (Parson) on Mar 31, 2019 at 11:04 UTC | |
by haukex (Archbishop) on Mar 31, 2019 at 22:26 UTC | |
by thanos1983 (Parson) on Apr 01, 2019 at 08:01 UTC |