in reply to is it ok to name object methods after core functions?

It works.
>perl -e"sub print { shift; CORE::print(qq{[@_]\n}); } __PACKAGE__->pr +int('foo'); [foo]

Whether it will lead to confusion or not is up to you.