#!/usr/bin/perl
#
# collectd - contrib/cussh.pl
-# Copyright (C) 2007 Sebastian Harl
+# Copyright (C) 2007-2008 Sebastian Harl
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
my $sock = Collectd::Unixsock->new($path);
my $cmds = {
+ HELP => \&cmd_help,
PUTVAL => \&putval,
GETVAL => \&getval,
FLUSH => \&flush,
last if ($line =~ m/^quit$/i);
- my ($cmd) = $line =~ m/^(\w+)\s+/;
+ my ($cmd) = $line =~ m/^(\w+)\s*/;
$line = $';
next if (! $cmd);
print $$string . $/;
my ($h, $p, $pi, $t, $ti) =
- $$string =~ m/^(\w+)\/(\w+)(?:-(\w+))?\/(\w+)(?:-(\w+))?\s+/;
+ $$string =~ m#^([^/]+)/([^/-]+)(?:-([^/]+))?/([^/-]+)(?:-([^/]+))?\s*#;
$$string = $';
return if ((! $h) || (! $p) || (! $t));
($id{'host'}, $id{'plugin'}, $id{'type'}) = ($h, $p, $t);
- $id{'plugin_instance'} = $pi if ($pi);
- $id{'type_instance'} = $ti if ($ti);
+ $id{'plugin_instance'} = $pi if defined ($pi);
+ $id{'type_instance'} = $ti if defined ($ti);
return \%id;
}
=over 4
+=item B<HELP>
+
+=cut
+
+sub cmd_help {
+ print <<HELP;
+Available commands:
+ HELP
+ PUTVAL
+ GETVAL
+ FLUSH
+ LISTVAL
+
+See the embedded Perldoc documentation for details. To do that, run:
+ perldoc $0
+HELP
+ return 1;
+} # cmd_help
+
=item B<GETVAL> I<Identifier>
=cut