diff options
Diffstat (limited to 'lib/WebCoso/Resource.pm')
-rw-r--r-- | lib/WebCoso/Resource.pm | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/WebCoso/Resource.pm b/lib/WebCoso/Resource.pm index be9a199..7d462f3 100644 --- a/lib/WebCoso/Resource.pm +++ b/lib/WebCoso/Resource.pm @@ -49,12 +49,12 @@ sub get_property { ### $axes_spec ### $prop_name - my $req_key=_genkey($axes_spec); - + return unless exists $values_of{ident $self}->{$prop_name}; my $values_ref=$values_of{ident $self}->{$prop_name}; ### $values_ref + my $req_key=_genkey($axes_spec); my @keys=sort {($a=~tr/\001//) <=> ($b=~tr/\001//)} keys %$values_ref; for my $key (@keys) { @@ -77,6 +77,8 @@ sub get_property_fh { my $prop_value=$self->get_property($axes_spec,$prop_name); + return unless defined $prop_value; + if (ref($prop_value) eq 'CODE') { $prop_value=$prop_value->(); } @@ -87,7 +89,8 @@ sub get_property_fh { return $fh; } else { # speriamo stringa... - open my $fh,'<',\$prop_value; + my $val="$prop_value"; + open my $fh,'<',\$val; return $fh; } } @@ -99,6 +102,8 @@ sub get_property_string { my $prop_value=$self->get_property($axes_spec,$prop_name); + return unless defined $prop_value; + if (ref($prop_value) eq 'CODE') { $prop_value=$prop_value->(); } |