Сокращение для ссылки на имена пакетов Perl / Moose?

В Python и Java у нас есть import , чтобы исключить повторение полностью определенных имен пакетов / модулей в коде. Есть ли какой-нибудь эквивалент в Perl / Moose? Я думаю, что было бы лучше использовать Moose, если бы нам не пришлось повторять MyApp :: Model :: Item . Вместо этого я хотел бы [как-то объявить] MyApp :: Model :: Item; , а позже просто обратиться к Item . Я могу вспомнить все эти варианты использования, где используются имена классов ...

  • расширяет "Item";
  • с помощью "ItemRole";
  • Item-> new (name => 'thing');
  • method foo (Item $ xyz) {...} , с MooseX :: Method :: Signatures
  • $ var-> isa ('Item');
  • try {. ..} catch (DatabaseError $ e) {...} , с TryCatch
  • $ Item :: SOME_PACKAGE_GLOBAL_VARIABLE

Если такой вещи еще нет, Любая идея о том, как я мог бы начать осуществлять это чисто? Я вижу, что было бы сложно иметь дело со случаями, когда имя класса используется в качестве строки.

11
задан PBJ 5 September 2010 в 21:13
поделиться