.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" 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" '' . ds C` . ds C' '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. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" 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 "Net::CLI::Interact::Action 3pm" .TH Net::CLI::Interact::Action 3pm "2014-09-29" "perl v5.20.1" "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" Net::CLI::Interact::Action \- Sent data or matched response from connected device .SH "VERSION" .IX Header "VERSION" version 2.142720 .SH "DESCRIPTION" .IX Header "DESCRIPTION" This class is used internally by Net::CLI::Interact and it's unlikely that an end-user will need to make use of Action objects directly. The interface is documented here as a matter of record. .PP An Action object represents \fIeither\fR some kind of text or command to send to a connected device, \fIor\fR a regular expression matching the response from a connected device. Such Actions are built up into ActionSets which describe a conversation with the connected device. .PP If the Action is a \f(CW\*(C`send\*(C'\fR type, then after execution it can be cloned and augmented with the response text of the command. If the response is likely to be paged, then the Action may also store instruction in how to trigger and consume the pages. .SH "INTERFACE" .IX Header "INTERFACE" .SS "type" .IX Subsection "type" Denotes the kind of Action, which may be \f(CW\*(C`send\*(C'\fR or \f(CW\*(C`match\*(C'\fR. .SS "value" .IX Subsection "value" In the case of \f(CW\*(C`send\*(C'\fR, a String command to send to the device. In the case of \&\f(CW\*(C`match\*(C'\fR, a regular expression reference to match response from the device. In special circumstances an array reference of regular expression references is also valid, and each will be checked for a match against the device response. .SS "no_ors" .IX Subsection "no_ors" Only applies to the \f(CW\*(C`send\*(C'\fR kind. Whether to skip appending the \fIoutput record separator\fR (newline) to the \f(CW\*(C`send\*(C'\fR command when sent to the connected device. .SS "continuation" .IX Subsection "continuation" Only applies to the \f(CW\*(C`send\*(C'\fR kind. When response output is likely to be paged, this stores an ActionSet that contains two Actions: one for the \f(CW\*(C`match\*(C'\fR which indicates output has paused at the end of a page, and one for the \f(CW\*(C`send\*(C'\fR command which triggers printing of the next page. .SS "params" .IX Subsection "params" Only applies to the \f(CW\*(C`send\*(C'\fR kind, and contains a list of parameters which are substituted into the \f(CW\*(C`value\*(C'\fR using Perl's \f(CW\*(C`sprintf\*(C'\fR function. Insufficient parameters causes \f(CW\*(C`sprintf\*(C'\fR to die. .SS "num_params" .IX Subsection "num_params" Only applies to the \f(CW\*(C`send\*(C'\fR kind, and returns the number of parameters which are required for the current \f(CW\*(C`value\*(C'\fR. Used for error checking when setting \&\f(CW\*(C`params\*(C'\fR. .SS "response" .IX Subsection "response" A stash for the returned prompt which matched and triggered the end of this action. .SS "response_stash" .IX Subsection "response_stash" A stash for the returned output following a \f(CW\*(C`send\*(C'\fR command, but not including the matched prompt which ended the action. This slot is used by the \f(CW\*(C`match\*(C'\fR action as it slurps output, but the content is then transferred over to the partner \f(CW\*(C`send\*(C'\fR in the ActionSet. .SS "prompt_hit" .IX Subsection "prompt_hit" When a command is successfully issued, the response is terminated by a prompt. However that prompt can be one of a list, defined in the Action. This slot records the regular expression from that list which was actually matched. .SS "clone" .IX Subsection "clone" Returns a new Action, which is a shallow clone of the existing one. All the reference based slots will share data, but you can add (for example) a \&\f(CW\*(C`response\*(C'\fR without affecting the original Action. Used when preparing to execute an Action which has been retrieved from the Phrasebook. .SH "AUTHOR" .IX Header "AUTHOR" Oliver Gorwits .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2014 by Oliver Gorwits. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.