Проблема с eval_in_page - Попытка интерполировать массив

my @para_text = $mech->xpath('/html/body/form/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/table/tbody/tr[3]/td/div/div/div', type => $mech->xpathResult('STRING_TYPE'));
#BELOW IS JUST TO MAKE SURE THE ABOVE CAPTURED THE CORRECT TEXT 
print "Look here: @para_text";

$mech->click_button( id => "lnkHdrreplyall");
$mech->eval_in_page('document.getElementsByName("txtbdy")[0].value = "@para_text"');

В последней строке моего кода мне нужно поместить содержимое массива @para_text в качестве текста для вывода в текстовое поле на веб-сайте, однако от "документа" до конца строки его необходимо заключить в ' ' работать. Очевидно, что это не позволяет интерполяцию, поскольку это потребует "" Любые идеи о том, что делать?

1 ответ

Решение

Чтобы определить строку, которая сама содержит двойные кавычки, а также интерполирующие значения переменных, вы можете использовать альтернативную форму двойной кавычки qq/ ... /, где вы можете самостоятельно выбрать разделитель и запретить двойные кавычки " быть особенным

Так что вы можете написать

$mech->eval_in_page(qq/document.getElementsByName("txtbdy")[0].value = "@para_text"/)
Другие вопросы по тегам