sub get_set_field { my $self = shift; my $field = shift; my $result; if (defined wantarray) { $result = $field->GetText(); $self->log("value is $result"); carp( "get_set_field() called in void context without a value",2 ) unless @_; }; if (@_) { $field->SetText(@_); $self->log("Setting field to @_"); }; $result; }; sub field_by_index { my $self = shift; my $index = shift; my @fields = $self->fields; my $field = $fields[ $index ]; $self->get_set_field($field,@_); };