that the new values were taken from, so that calling it for a second
time restores the old values. (Well, nearly. Because there is no way
to unset an option once it's been set, the best we can do is set such
an option to the empty string. That seems to be good enough.)
-# $Id: Task.pm,v 1.3 2006-10-25 10:52:53 mike Exp $
+# $Id: Task.pm,v 1.4 2006-10-25 13:34:56 mike Exp $
package ZOOM::IRSpy::Task;
package ZOOM::IRSpy::Task;
sub set_options {
my $this = shift();
sub set_options {
my $this = shift();
- my %options = %{ $this->{options} };
- foreach my $key (sort keys %options) {
- my $value = $options{$key};
- $this->conn()->log("irspy_debug", "$this setting option '$key' -> '$value'");
- $this->conn()->option($key, $value);
+ foreach my $key (sort keys %{ $this->{options} }) {
+ my $value = $this->{options}->{$key};
+ $value = "" if !defined $value;
+ $this->conn()->log("irspy_debug", "$this setting option '$key' -> ",
+ defined $value ? "'$value'" : "undefined");
+ $this->{options}->{$key} = $this->conn()->option($key, $value);
+ #Net::Z3950::ZOOM::connection_option_set($this->conn()->_conn(), $key, $value);