set_mro#
Set the method-resolution algorithm for $class to either "dfs" or "c3".
Synopsis#
mro::set_mro($class, »c3«); mro::set_mro($class, »dfs«);
After the call, subsequent method dispatches on $class — and subclasses that inherit the setting — walk the chosen linearization. get_linear_isa($class) reflects the new choice on the next invocation.
Any value other than "dfs" or "c3" croaks with Invalid mro name: '...'. Usage with any argument count other than two croaks with Usage: mro::set_mro(classname, type). The stash for $class is created on demand if it does not yet exist, so selecting an MRO before the package is declared works.