#!/usr/bin/env perl
 
use strict;
 
my @found_modules = ();
my $perl_script = "";
 
if(($#ARGV + 1) != 1){
    print "Syntax: perl_moduel_check  <script>\n";
    exit(1);
}
else{
    $perl_script = $ARGV[0];
}
 
open(FILE,"<$perl_script") or die "Unable to open ($perl_script): $!\n";
while(chomp(my $line = <FILE>)){
    if($line =~ /^use/){
        my @explosde = split(/\s+/,$line);
 
        $explosde[1] =~ s/;$//g;
        push(@found_modules,$explosde[1]);
    }
 
}
close(FILE);
 
print "Found ".($#found_modules + 1)." modules in $perl_script\n";
foreach my $module (sort @found_modules){
    print "Testing $module: ";
    eval ("use $module");
    if($@){
        print "NOT INSTALLED\n";
    }
    else{
        print "OK\n";
    }
}