我正在使用Embedded Ruby code(ERB)模板生成Perl答案文件。此答案文件包含变量,然后用于以静默方式调用安装程序。
我无法控制安装程序代码;我所控制的是答案文件。
如果字符串包含未转义的元字符,安装程序将抛出预期的警告。
我希望答案文件具有包含转义字符的Perl字符串常量。该值使用嵌入式Ruby代码提供。
我有两个变量。一个在Ruby中定义,另一个在Perl中定义。
my $variable = <%= [@var].flatten %>;
$variable
在Perl,@var
是Ruby。
@var
将包含电子邮件地址。
@var = "[email protected]"
我想逃脱在qazxsw poi角色,以便珍珠不认为qazxsw poi是一个变量。
简而言之,我想将@
写入答案文件。
我尝试过多种东西但是徒劳无功。
@gmail
"abcd\@gmail.com"
是正确的。 Ruby将结果表示为等效的双引号字符串,需要对反斜杠进行转义
试试@var = "[email protected]"
@var.gsub("@", "\@") # => "[email protected]"
@var.gsub("@", "\\@") # => "abcd\\@gmail.com"
@var.gsub("@", "\\\@") # => "abcd\\@gmail.com"