Внутри двойной кавычки (то есть "
или qq
) вы можете убежать с косой чертой \
, однако, если это сбивает с толку из-за других значений / использования слеша, я бы порекомендовал изменить части выражения которые не нуждаются в интерполяции в строки в одинарных кавычках (например, '
или q
) и объединяют их с помощью оператора cat "точка" (.
).
Если я правильно вас прочитал, единственная переменная на стороне Perl, которая вам нужна, это $0
, правильно? Кроме того, сбежавшие единичные доллары предназначены только для Perl, поэтому мы можем удалить их из одинарных кавычек.
if ($USER_GROUPS_OKAY == 1)
{
print q|
<script>
var params = $("#USER_INPUT_FORM").serializeArray();
params.push({ name: 'menu_mode', value: 'VIEW_IV' });
params.push({ name: 'KEY_ID_VALID', value: '$KEY_ID' });
params.push({ name: 'SOURCE_P_NAME', value: '$asdf' });
params.push({ name: 'DESTINATION_P_NAME', value: '$asdf1' });
params.push({ name: 'SOURCE_D_NAME', value: '$asdf2' });
params.push({ name: 'DESTINATION_D_NAME', value: '$asdf3' });
$.get(
| . qq|
"cgi_scripts/$0"
| . q|
,params,function(data){$("#graphs").html(data)});
</script>
|;
}