我收到错误,因为全局符号没有。请帮我解决这个问题。
错误讯息:
在字符串中,@@ g现在必须在gsx.pl第5行写成\ @g,靠近" echo Ra @@@ g" 全球符号" @@ g"需要在ggg.pl第5行显式包名。
function Grid_DataBound() {
var grid = $('#YourGrid').data('kendoGrid');
var exportButton = grid.element.find(".exporTtoExcelClass");
exportButton.unbind("click");
exportButton.on("click", function (args) {
kendo.ui.progress($("#YourGrid"), true);
var grid1 = $("#YourGrid").data("kendoGrid");
grid1.saveAsExcel();
kendo.ui.progress($("#YourGrid"), false);
return false;
});
}
答案 0 :(得分:6)
@g
被解释为@g
数组,因为反引号会插入包含数组的变量。
此外,多年前错误消息已经改变,看来你的Perl版本已经很老了。考虑升级它。
要在反引号中使用@g
作为字符串,您需要转义at-sign:
my $connection = `echo Ra@@\@g | p4 -u raj login`;
答案 1 :(得分:0)
您希望通过此方式实现目标:
echo Ra@@@g
如何使用:
my $tmp = 'Ra@@@g';
my $connection=`echo $tmp|p4 -u raj login`;
答案 2 :(得分:0)
qx`...`
又名`...`
插值为双引号字符串(qq"..."
又名"..."
)。
my $connection = `echo Ra\@\@\@g | p4 -u raj login`;
但理想情况下,密码将是一个单独的变量。
use String::ShellQuote qw( shell_quote );
my $password = 'Ra@@@g';
my $cmd1 = shell_quote("printf", "%s", $password);
my $cmd2 = shell_quote("p4", "-u", "raj", "login");
my $connection = `$cmd1 | $cmd2`;