オーバーロードされた演算子の呼び出し元で特定の警告を抑制する手段はありますか?
背景:<=
オーバーロードし>=
、一種の宣言的なドメイン固有の言語を実装する モジュールを検討しています。それが良い考えであるかどうかは別として、これらの演算子は、無効なコンテキストで使用されると、「無効なコンテキストでの無用な使用」という警告をスローします。何かのようなもの:
package Boundary;
use strict;
use overload ('<=' => \&set_min, '>=' => \&set_max);
sub new { my ($class, $min, $max) = @_; bless [ $min, $max ], $class; }
sub set_min { my $self = shift; $self->[0] = shift; }
sub set_max { my $self = shift; $self->[1] = shift; }
package main;
# user code
use warnings;
my $bound = Boundary->new();
$bound >= 1; # Useless use of numeric ge (>=) in void context at ...
$bound <= 10; # Useless use of numeric le (>=) in void context at ...
呼び出し元が「void」警告を明示的に無効にすることなく、オーバーロードされた呼び出しだけの警告を抑制する方法はありますか?