I like to define a value subroutine.
sub myvalue {
return uc($options{$_[0]}->{type} // "")
}
This particular one returns the empty string ("") if
$options{$_[0]}->{type} is undefined.
Now the sort becomes:
sort {myvalue($a) cmp myvalue($b)} keys %options
This code is untested but maybe you see the idea.
chris
On Tue, Apr 11, 2017 at 7:13 AM, Mike Martin <[email protected]> wrote:
> Hi
>
> I have the following code as an example against a hash of hashes, to sort
> by hashrf key
>
> foreach my $opt (sort {uc($options{$b}->{type}) cmp
> uc($options{$a}->{type})} keys %options){
> my $type=$options{$opt}->{vtype};
> $video_type->append_text($type) if defined($type) ;
> }
>
> The sort function works perfectly, however perl throws up the following
> warning for each line
>
> Use of uninitialized value in uc at
>
> Any ideas how to get rid of the warning
>
> thanks
>
> Mike
>
>