'Yield "reasonable" module names imported in the given module.
"Reasonable" here means those that can be handled by the Perl
cpln evalrs. The issue is Perl \'require\' statements that can
quote a string, use string interpolation, etc.'

def _imported_mod_names_from_mod(self, mod):

    from os.path import splitext
    for imp_elem in mod.getiterator('import'):
        mod_name = imp_elem.get('module')
        if ('$' in mod_name):
            continue
        elif (mod_name[0] in ('"', "'")):
            sans_quotes = mod_name[1:(-1)]
            (sans_ext, ext) = splitext(sans_quotes)
            if (ext != '.pm'):
                continue
            mod_name = sans_ext.replace('/', '::')
        (yield mod_name)
