WWW :: Mechanize字段方法

时间:2014-12-26 21:51:03

标签: perl mechanize textfield

之间有什么区别
$mech -> field($name, $value)

$mech -> set_fields($name => $value)

为什么它们都存在?看起来他们每个人都将名为$name的字段设置为$value

1 个答案:

答案 0 :(得分:4)

$mech -> field($name, $value)

field()只允许您一次设置一个名称。但

$mech -> set_fields($name => $value, $name2 => $value2,... $nameN => $valueN)

... set_fields()允许您同时设置多个名称。

这并不是什么大问题,因为你总是可以在循环中使用第一个:

my @data = (
    first => 'A',
    last  => 'B',
    age   => 22,
    #possibly 100,000 other name/value pairs
);

my($name, $value);

while(@data) {
   ($name, $value) = splice(@data, 0, 2);
   $mech->field($name, $value); 
}

...但写起来更方便:

$mech->set_fields(@data);