use warnings; use strict; BEGIN{ package ConstErr; use Tie::Handle; our @ISA = qw(Tie::Handle); sub TIEHANDLE { bless \my $i, shift; } sub PRINT { my $r = shift; print grep { $_ !~ m/constant/i } @_; } package main; tie *STDERR, 'ConstErr'; } use constant PI => 3.14; print PI, "\n"; use constant PI => 1000; print PI, "\n";