.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Mon::Protocol 3pm" .TH Mon::Protocol 3pm "2012-04-27" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Mon::Protocol \- Methods for parsing / dumping a protocol block .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Mon::Protocol; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" .SH "METHODS" .IX Header "METHODS" .IP "new" 4 .IX Item "new" Creates a new object. A hash can be supplied which sets the default values. An example which contains all of the variables that you can initialize: .Sp .Vb 1 \& $c = new Mon::Protocol; .Ve .IP "dump_data" 4 .IX Item "dump_data" Returns the current internal structure as a string dump suitable for passing to \f(CW\*(C`parse_data\*(C'\fR. .ie n .IP """parse_data""" 4 .el .IP "\f(CWparse_data\fR" 4 .IX Item "parse_data" Parses a command block (from begin_block to end_block), as generated by dump_data. .ie n .IP """type""(\fInew_type\fR)" 4 .el .IP "\f(CWtype\fR(\fInew_type\fR)" 4 .IX Item "type(new_type)" Sets or returns the type of the current command block. See \f(CW@TYPES\fR for valid type codes. .Sp In the future, it is possible that this module will perform additional checking based on the type, for now it is left to the application to interpret this. .ie n .IP """get_section_list""" 4 .el .IP "\f(CWget_section_list\fR" 4 .IX Item "get_section_list" Returns an array containing all section names within the block. .ie n .IP """get_section""(\fIsection_name\fR)" 4 .el .IP "\f(CWget_section\fR(\fIsection_name\fR)" 4 .IX Item "get_section(section_name)" Returns a hash containing the key/value pairs of the specific section. .ie n .IP """delete_section""(\fIsection_name\fR)" 4 .el .IP "\f(CWdelete_section\fR(\fIsection_name\fR)" 4 .IX Item "delete_section(section_name)" Completely removes the specified section from the block. .ie n .IP """add_to_section""(\fIsection_name\fR,\fI\fI$hash_ref\fI\fR)" 4 .el .IP "\f(CWadd_to_section\fR(\fIsection_name\fR,\fI\f(CI$hash_ref\fI\fR)" 4 .IX Item "add_to_section(section_name,$hash_ref)" Adds the key/value pairs in the hash to the specified section. .Sp .Vb 1 \& $foo\->add_to_section("_hostgroup", { "ns1.baz.com" \-> "ok" }); .Ve .ie n .IP """delete_from_section""(\fIsection_name\fR,\fI\fI$key\fI\fR)" 4 .el .IP "\f(CWdelete_from_section\fR(\fIsection_name\fR,\fI\f(CI$key\fI\fR)" 4 .IX Item "delete_from_section(section_name,$key)" Deletes the key/value pair from the section. .Sp .Vb 1 \& $foo\->delete_from_section("_hostgroup", "ns1.baz.com"); .Ve .ie n .IP """error""" 4 .el .IP "\f(CWerror\fR" 4 .IX Item "error" Should any of the functions return an error (\-1), this function can be used to retrieve a more elaborate error message and to reset the internal error state.