diff -ruN nagiosplug-save/plugins-scripts/check_flexlm.pl nagiosplug/plugins-scripts/check_flexlm.pl
--- nagiosplug-save/plugins-scripts/check_flexlm.pl	2003-02-04 06:16:16.000000000 +0000
+++ nagiosplug/plugins-scripts/check_flexlm.pl	2004-03-27 22:05:08.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#! /usr/bin/perl -wT
 #
 # usage: 
 #    check_flexlm.pl license_file
@@ -32,78 +32,50 @@
 # srigler@marathonoil.com,cerice@marathonoil.com
 
 
-
+require 5.004;
 use strict;
-use Getopt::Long;
-use vars qw($opt_V $opt_h $opt_F $opt_t $verbose $PROGNAME);
-use lib utils.pm;
-use utils qw(%ERRORS &print_revision &support &usage);
-
-$PROGNAME="check_flexlm";
+use lib utils.pm ;
+use Plugin;
+use Plugin::Parameter qw($helpparameterlist $versionparameterlist $filenameparameter
+			 $timeoutparameter $verboseparameter);
+
+use vars qw($opt_f $opt_t $opt_v $PROGNAME);
+
+use utils qw(%ERRORS &usage);
+
+my $plugin = new Plugin(-revision => '$Revision: 1.6 $',
+			-copyright => "2000 Ernst-Dieter Martin/Karl DeBisschop, 2004 Howard Wilkinson <howard\@cohtech.com>",
+			-shortcomment => "Check available flexlm license managers",
+			-longcomment => "Flexlm license managers usually run as a single server or three servers and a quorum is needed. The plugin return OK if 1 (single) or 3 (triple) servers are running, CRITICAL if 1(single) or 3 (triple) servers are down, and WARNING if 1 or 2 of 3 servers are running",
+			-parameterlists => [ [ $filenameparameter, $timeoutparameter, $verboseparameter ], $helpparameterlist, $versionparameterlist ]);
 
-sub print_help ();
-sub print_usage ();
 
 $ENV{'PATH'}='';
 $ENV{'BASH_ENV'}=''; 
 $ENV{'ENV'}='';
 
-Getopt::Long::Configure('bundling');
-GetOptions
-	("V"   => \$opt_V,   "version"    => \$opt_V,
-	 "h"   => \$opt_h,   "help"       => \$opt_h,
-	 "v"   => \$verbose, "verbose"    => \$verbose,
-	 "F=s" => \$opt_F,   "filename=s" => \$opt_F,
-	 "t=i" => \$opt_t, "timeout=i"  => \$opt_t);
+$plugin->init();
 
-if ($opt_V) {
-	print_revision($PROGNAME,'$Revision: 1.6 $');
-	exit $ERRORS{'OK'};
-}
-
-unless (defined $opt_t) {
-	$opt_t = $utils::TIMEOUT ;	# default timeout
-}
-
-
-if ($opt_h) {print_help(); exit $ERRORS{'OK'};}
-
-unless (defined $opt_F) {
-	print "Missing license.dat file\n";
-	print_usage();
-	exit $ERRORS{'UNKNOWN'};
-}
-# Just in case of problems, let's not hang Nagios
-$SIG{'ALRM'} = sub {
-	print "Timeout: No Answer from Client\n";
-	exit $ERRORS{'UNKNOWN'};
-};
-alarm($opt_t);
+$plugin->start_timeout($opt_t, "Timeout: No Answer from Client");
 
 my $lmstat = $utils::PATH_TO_LMSTAT ;
 unless (-x $lmstat ) {
-	print "Cannot find \"lmstat\"\n";
-	exit $ERRORS{'UNKNOWN'};
+  usage("$PROGNAME UNKNOWN: Cannot find \"lmstat\"\n");
+  exit $ERRORS{'UNKNOWN'};
 }
 
-($opt_F) || ($opt_F = shift) || usage("License file not specified\n");
-my $licfile = $1 if ($opt_F =~ /^(.*)$/);
-($licfile) || usage("Invalid filename: $opt_F\n");
+print "$opt_f\n" if $opt_v;
 
-print "$licfile\n" if $verbose;
-
-if ( ! open(CMD,"$lmstat -c $licfile |") ) {
-	print "ERROR: Could not open \"$lmstat -c $licfile\" ($!)\n";
-	exit exit $ERRORS{'UNKNOWN'};
+if ( ! open(CMD,"$lmstat -c $opt_f |") ) {
+  print "$PROGNAME UNKNOWN: ERROR: Could not open \"$lmstat -c $opt_f\" ($!)\n";
+  exit exit $ERRORS{'UNKNOWN'};
 }
 
 my $serverup = 0;
 my @upsrv; 
 my @downsrv;  # list of servers up and down
 
-#my ($ls1,$ls2,$ls3,$lf1,$lf2,$lf3,$servers);
- 
-# key off of the term "license server" and 
+# key off of the term "license server" and
 # grab the status.  Keep going until "Vendor" is found
 #
 
@@ -112,89 +84,56 @@
 # Vendor daemon status is ignored for the moment.
 
 while ( <CMD> ) {
-	next if (/^lmstat/);   # ignore 1st line - copyright
-	next if (/^Flexible/); # ignore 2nd line - timestamp
-	(/^Vendor/) && last;   # ignore Vendor daemon status
-	print $_ if $verbose;
-	
-		if ($_ =~ /license server /) {	# matched 1 (of possibly 3) license server
-			s/^\s*//;					#some servers start at col 1, other have whitespace
-										# strip staring whitespace if any
-			if ( $_ =~ /UP/) {
-				$_ =~ /^(.*):/ ;
-				push(@upsrv, $1);
-				print "up:$1:\n" if $verbose;
-			} else {
-				$_ =~ /^(.*):/; 
-				push(@downsrv, $1);
-				print "down:$1:\n" if $verbose;
-			}
-		
-		}
+  next if (/^lmstat/);   # ignore 1st line - copyright
+  next if (/^Flexible/); # ignore 2nd line - timestamp
+  (/^Vendor/) && last;   # ignore Vendor daemon status
+  print $_ if $opt_v;
 	
-
-#	if ( /^License server status: [0-9]*@([-0-9a-zA-Z_]*),[0-9]*@([-0-9a-zA-Z_]*),[0-9]*@([-0-9a-zA-Z_]*)/ ) {
-#	$ls1 = $1;
-#	$ls2 = $2;
-#	$ls3 = $3;
-#	$lf1 = $lf2 = $lf3 = 0;
-#	$servers = 3;
-#  } elsif ( /^License server status: [0-9]*@([-0-9a-zA-Z_]*)/ ) {
-#	$ls1 = $1;
-#	$ls2 = $ls3 = "";
-#	$lf1 = $lf2 = $lf3 = 0;
-#	$servers = 1;
-#  } elsif ( / *$ls1: license server UP/ ) {
-#	print "$ls1 UP, ";
-#	$lf1 = 1
-#  } elsif ( / *$ls2: license server UP/ ) {
-#	print "$ls2 UP, ";
-#	$lf2 = 1
-#  } elsif ( / *$ls3: license server UP/ ) {
-#	print "$ls3 UP, ";
-#	$lf3 = 1
-#  } elsif ( / *([^:]*: UP .*)/ ) {
-#	print " license server for $1\n";
-#	$serverup = 1;
-#  }
-
+  if ($_ =~ /license server /) {	# matched 1 (of possibly 3) license server
+    s/^\s*//;				#some servers start at col 1, other have whitespace
+					# strip staring whitespace if any
+    if ( $_ =~ /UP/) {
+      $_ =~ /^(.*):/ ;
+      push(@upsrv, $1);
+      print "up:$1:\n" if $opt_v;
+    } else {
+      $_ =~ /^(.*):/; 
+      push(@downsrv, $1);
+      print "down:$1:\n" if $opt_v;
+    }
+  }
 }
 
-#if ( $serverup == 0 ) {
-#    print " license server not running\n";
-#    exit 2;	
-#}
-
 close CMD;
 
-if ($verbose) {
-	print "License Servers running: ".scalar(@upsrv) ."\n";
-	foreach my $upserver (@upsrv) {
-		print "$upserver\n";
-	}
-	print "License servers not running: ".scalar(@downsrv)."\n";
-	foreach my $downserver (@downsrv) {
-		print "$downserver\n";
-	}
+if ($opt_v) {
+  print "License Servers running: ".scalar(@upsrv) ."\n";
+  foreach my $upserver (@upsrv) {
+    print "$upserver\n";
+  }
+  print "License servers not running: ".scalar(@downsrv)."\n";
+  foreach my $downserver (@downsrv) {
+    print "$downserver\n";
+  }
 }
 
 #
-# print list of servers which are up. 
+# print list of servers which are up.
 #
 if (scalar(@upsrv) > 0) {
-   print "License Servers running:";
-   foreach my $upserver (@upsrv) {
-      print "$upserver,";
-   }
+  print "License Servers running:";
+  foreach my $upserver (@upsrv) {
+    print "$upserver,";
+  }
 }
 #
 # Ditto for those which are down.
 #
 if (scalar(@downsrv) > 0) {
-   print "License servers NOT running:";
-   foreach my $downserver (@downsrv) {
-      print "$downserver,";
-   }
+  print "License servers NOT running:";
+  foreach my $downserver (@downsrv) {
+    print "$downserver,";
+  }
 }
 
 # perfdata
@@ -203,43 +142,4 @@
 exit $ERRORS{'OK'} if ( scalar(@downsrv) == 0 );
 exit $ERRORS{'WARNING'} if ( (scalar(@upsrv) > 0) && (scalar(@downsrv) > 0));
 
-#exit $ERRORS{'OK'} if ( $servers == $lf1 + $lf2 + $lf3 );
-#exit $ERRORS{'WARNING'} if ( $servers == 3 && $lf1 + $lf2 + $lf3 == 2 );
 exit $ERRORS{'CRITICAL'};
-
-
-sub print_usage () {
-	print "Usage:
-   $PROGNAME -F <filename> [-v] [-t] [-V] [-h]
-   $PROGNAME --help
-   $PROGNAME --version
-";
-}
-
-sub print_help () {
-	print_revision($PROGNAME,'$Revision: 1.6 $');
-	print "Copyright (c) 2000 Ernst-Dieter Martin/Karl DeBisschop
-
-Check available flexlm license managers
-
-";
-	print_usage();
-	print "
--F, --filename=FILE
-   Name of license file (usually \"license.dat\")
--v, --verbose
-   Print some extra debugging information (not advised for normal operation)
--t, --timeout
-   Plugin time out in seconds (default = $utils::TIMEOUT )
--V, --version
-   Show version and license information
--h, --help
-   Show this help screen
-
-Flexlm license managers usually run as a single server or three servers and a
-quorum is needed.  The plugin return OK if 1 (single) or 3 (triple) servers
-are running, CRITICAL if 1(single) or 3 (triple) servers are down, and WARNING
-if 1 or 2 of 3 servers are running\n
-";
-	support();
-}
