#!/usr/bin/env python
 
import commands
import sys
foundModules = list()
 
 
if len(sys.argv) != 2:
    print "Syntax: " + sys.argv[0] + " <script>"
    sys.exit()
else:
    perl_script = sys.argv[1]
 
command = 'egrep "^use" ' + perl_script
(status,modules) = commands.getstatusoutput(command)
if status == 0:
    for module in modules.split("\n"):
        module = module.split(" ")[1].replace(";","")
        foundModules.append(module)
 
 
if len(foundModules) > 0:
    print "Found " + str(len(foundModules)) + " modules in " + perl_script
    for module in sorted(foundModules):
        print "Testing " + module + ":",
        perlme = """
            #!/usr/bin/perl
            eval ("use """ + module + """");
            if($@){
                exit(1);
            }
            else{
                exit(0);
            }
        """
 
        command = "echo '" + perlme + "' | perl"
        (status,output) = commands.getstatusoutput(command)
        if status == 0:
            print "OK"
        else:
            print "NOT INSTALLED"
else:
    print "Didn't find any perl modules"