in reply to Overriding as_string ?

Look at the overload documentation (perldoc overload)

Something like this
use overload q("") => \&as_string fallback => 1;