You never imported or exported the words routine from the Flame::Text package. The statement use Some::Module @args equivalent to:
BEGIN { require Some::Module; Some::Module->import(@args); }
that is, the import method is called with the specified arguments. This method usually exports different characters from one package to the calling package.
Do not write your own import , rather you can inherit it from the Exporter module. This module is configured by storing exported characters in the global variable @EXPORT_OK . Thus, your code will be as follows:
package Flame::Text; use parent 'Exporter';
Now use Flame::Text 'words' will work as expected.
source share