Sin usar un filtro de fuente, ¿hay alguna manera de cambiar el paquete en ejecución actual? Estoy tratando de lograr lo mismo que hace oose.pm, y me pregunto si puedo colocar a mis usuarios en un paquete no principal.Perl cambiando el paquete actual?
5
A
Respuesta
5
Creo que podrá hacerlo cambiando PL_curstash
y PL_curstname
en el nivel C.
PL_curstash = gv_stashpvs("Some::Package", GV_ADD);
sv_setpvs(PL_curstname, "Some::Package");
PL_curstash
es el alijo del paquete actual durante la compilación, PL_curstname
es su nombre.
Actualización:
que he encontrado este tipo de problema interesante e implementó la solución como Devel::ChangePackage
. Resulta que lo que inicialmente sugerí simplemente funciona. Puede obtenerlo desde http://github.com/rafl/devel-changepackage, o desde un espejo CPAN cerca de usted una vez que se hayan actualizado.
Cuestiones relacionadas
- 1. Cambiando pestaña actual en Rails
- 2. Perl, incluir dinámicamente el paquete
- 3. Perl - Paquete Temas/Módulo
- 4. Gdata tema paquete perl
- 5. Obteniendo el nombre de clase actual incluyendo el paquete
- 6. powershell: cambiando la cultura de la sesión actual
- 7. ¿Cómo obtener el paquete actual en Symfony 2?
- 8. ¿Cuál es el estado actual de Perl 6?
- 9. ¿Cómo obtengo el usuario actual en Perl de manera portátil?
- 10. ¿Cómo se llama una subrutina de un paquete, dado el nombre del paquete en Perl?
- 11. Android: Cambiando el formato de hora según el formato de hora actual del dispositivo
- 12. Cambiando el esquema usando cx_Oracle
- 13. ¿Cómo puedo obtener el nombre de la subrutina actual en Perl?
- 14. Cambiando el puerto del System.Uri
- 15. Cambiando el compilador en Qt
- 16. Cambiando el color del texto
- 17. Cambiando el directorio de trabajo
- 18. ¿Cómo se especifica una versión del paquete en Perl?
- 19. ¿Cómo puedo exportar todos los subs en un paquete Perl?
- 20. Android compare la firma del paquete actual con debug.keystore
- 21. ¿Cómo puedo eliminar por completo un paquete en Perl?
- 22. Paquete de menú de nudo Elemento actual Symfony 2
- 23. Detección de variables de paquete declarados en Perl
- 24. En Perl, ¿cuál es la forma más confiable de determinar el paquete coderef?
- 25. El autodesplazamiento está cambiando el tamaño de mi ventana
- 26. ¿Cuáles son los equivalentes de Python para el paquete de Ruby/el cartón de Perl?
- 27. ¿Hay alguna revisión actual de módulos estadísticos para Perl?
- 28. cambiando la estructura de git
- 29. hacer el paquete mac/paquete mediante programación
- 30. Cambiando el orden de las teclas Object ....
Pero está tratando de cambiar el paquete _caller's_, no el suyo. – cjm
Es por eso que debería hacer lo anterior en lugar de presionar curstash y curstname en la pila de guardado y hacer los cambios locales al alcance actual, como lo haría la palabra clave del paquete. – rafl