Проблема с 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"/)