运行 perl 脚本中的 gam 命令
running gam command inside perl script
我是 perl 的新手,正在尝试 运行 下面的高级 gam 命令 在一个简单的 perl 脚本中 但无论我做什么,它都不会将输出打印到屏幕上使用 - 我做错了什么?
#!/usr/bin/perl
#exec ("ls -l");
chdir '/home/ted/bin/gamadv-xtd3';
#exec ("gam user ted.jones@co.com show contacts emailmatchpattern sarah.owens@co.com fields email");
#system "gam user ted.jones@co.com show contacts emailmatchpattern sarah.owens@co.com fields email";
exec ("gam user ted.jones@co.com show contacts emailmatchpattern sarah.owens@co.com fields email");
您应该始终以 use strict;
和 use warnings;
开始您的程序。这将捕获并报告您的代码的许多问题。
对于这个特定的代码,可能只是字符串中 @co
的插值失败(导致 gam
命令失败)。或者可能是 gam
不在您的路径上,因此 exec
本身失败了。
以下代码片段演示了您应该如何在 perl 中使用 system()
调用。
请看:system, Quote and Quote-like Operators
use strict;
use warnings;
my $cmd = $ENV{HOME} . '/bin/gamadv-xtd3';
my @args = qw/gam user ted.jones@co.com show contacts emailmatchpattern sarah.owens@co.com fields email/;
system($cdm,@args);
我是 perl 的新手,正在尝试 运行 下面的高级 gam 命令 在一个简单的 perl 脚本中 但无论我做什么,它都不会将输出打印到屏幕上使用 - 我做错了什么?
#!/usr/bin/perl
#exec ("ls -l");
chdir '/home/ted/bin/gamadv-xtd3';
#exec ("gam user ted.jones@co.com show contacts emailmatchpattern sarah.owens@co.com fields email");
#system "gam user ted.jones@co.com show contacts emailmatchpattern sarah.owens@co.com fields email";
exec ("gam user ted.jones@co.com show contacts emailmatchpattern sarah.owens@co.com fields email");
您应该始终以 use strict;
和 use warnings;
开始您的程序。这将捕获并报告您的代码的许多问题。
对于这个特定的代码,可能只是字符串中 @co
的插值失败(导致 gam
命令失败)。或者可能是 gam
不在您的路径上,因此 exec
本身失败了。
以下代码片段演示了您应该如何在 perl 中使用 system()
调用。
请看:system, Quote and Quote-like Operators
use strict;
use warnings;
my $cmd = $ENV{HOME} . '/bin/gamadv-xtd3';
my @args = qw/gam user ted.jones@co.com show contacts emailmatchpattern sarah.owens@co.com fields email/;
system($cdm,@args);