What happens when you want to use the real pos()? I'm not worried about the methods. I'm talking about using the builtins, which you don't call as methods. :)
Update: You have to be able to explain to everyone else who looks at your code why Perl ignores the subroutine you defined, which one you really wanted, and all sorts of other things. pos() may not be the best example though.
#!/usr/bin/perl
use warnings;
sub shift { }
my @array = qw( 1 2 3 );
shift @array;
In general, don't purposedly cause ambiguity.