summaryrefslogtreecommitdiffstats
path: root/Helper.pm
diff options
context:
space:
mode:
authorEthan Galstad <egalstad@users.sourceforge.net>2002-02-28 06:42:51 (GMT)
committerEthan Galstad <egalstad@users.sourceforge.net>2002-02-28 06:42:51 (GMT)
commit44a321cb8a42d6c0ea2d96a1086a17f2134c89cc (patch)
treea1a4d9f7b92412a17ab08f34f04eec45433048b7 /Helper.pm
parent54fd5d7022ff2d6a59bc52b8869182f3fc77a058 (diff)
downloadmonitoring-plugins-44a321cb8a42d6c0ea2d96a1086a17f2134c89cc.tar.gz
Initial revision
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'Helper.pm')
-rw-r--r--Helper.pm44
1 files changed, 44 insertions, 0 deletions
diff --git a/Helper.pm b/Helper.pm
new file mode 100644
index 0000000..198a648
--- /dev/null
+++ b/Helper.pm
@@ -0,0 +1,44 @@
1package Helper;
2use strict;
3
4use Exporter();
5use vars qw($VERSION @ISA @EXPORT);
6$VERSION = 0.01;
7@ISA=qw(Exporter);
8@EXPORT=qw(&get_option);
9
10sub get_option ($$) {
11 my $file = 'Cache';
12 my $response;
13 my $var = shift;
14
15 require "$file.pm";
16 if(defined($Cache::{$var})){
17 $response=$Cache::{$var};
18 return $$response;
19 }
20
21 my $request = shift;
22 my $filename;
23 my $path;
24 foreach $path (@INC) {
25 $filename="$path/$file.pm";
26 last if (-e $filename);
27 }
28 print STDERR "Enter $request\n";
29 $response=<STDIN>;
30 chop($response);
31 open(CACHE,"<$filename") or die "Cannot open cache for reading";
32 undef $/;
33 my $cache = <CACHE>;
34 $/="\n";
35 close CACHE;
36 $cache =~ s/^(\@EXPORT\s*=\s*qw\(\s*[^\)]*)\)\s*;/$1 $var\)\;/msg;
37 $cache =~ s/^1;[\n\s]*\Z/\$$var=\"$response\"\;\n1\;\n/msg;
38 open(CACHE,">$filename") or die "Cannot open cache for writing";
39 print CACHE $cache;
40 close CACHE;
41 return $response;
42}
43
441;