diff options
| author | Ethan Galstad <egalstad@users.sourceforge.net> | 2002-02-28 06:42:51 +0000 |
|---|---|---|
| committer | Ethan Galstad <egalstad@users.sourceforge.net> | 2002-02-28 06:42:51 +0000 |
| commit | 44a321cb8a42d6c0ea2d96a1086a17f2134c89cc (patch) | |
| tree | a1a4d9f7b92412a17ab08f34f04eec45433048b7 /Helper.pm | |
| parent | 54fd5d7022ff2d6a59bc52b8869182f3fc77a058 (diff) | |
| download | monitoring-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.pm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Helper.pm b/Helper.pm new file mode 100644 index 00000000..198a6480 --- /dev/null +++ b/Helper.pm | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | package Helper; | ||
| 2 | use strict; | ||
| 3 | |||
| 4 | use Exporter(); | ||
| 5 | use vars qw($VERSION @ISA @EXPORT); | ||
| 6 | $VERSION = 0.01; | ||
| 7 | @ISA=qw(Exporter); | ||
| 8 | @EXPORT=qw(&get_option); | ||
| 9 | |||
| 10 | sub 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 | |||
| 44 | 1; | ||
