# this works as a bash include
#
#COMM Math::Range, simple attributes
#
function homogaddr {
  perl -n -e 's/(ARRAY|HASH)\(0x\w{5,8}\)/$1(0x123ABC)/; print' "$@"
}
perl -e '
  use strict;
  use lib shift();  # give include precedence to code directory, perl -I would not work!
  use Math::Range;
  my $r1=Math::Range->new(1,2);
  range_tests($r1);
  my $r2=Math::Range->new([1.5,undef]);
  range_tests($r2);
  sub range_tests {
    my $r=shift;
    printf "range %s\n", $r->string();
    printf " range ref type: %s\n", ref($r)||"''";
    printf " object address: %s\n", $r;
    printf " range is sharply defined: %d\n", $r->is_sharp();
    foreach my $p (0.8,1.3,2.0) {
    printf " range keeps point %.1f: %d\n", $p, $r->covers($p);
    }
  }
  ' -- $dircode  \
| homogaddr
