NAME
Lab::SCPI - Match SCPI headers and parameters against keywords.
This module exports a single function:
scpi_match($header, $keyword)
Return true, if $header
matches the SCPI keyword expression $keyword
.
Examples
The calls
scpi_match($header, 'voltage[:APERture]')
scpi_match($header, 'voltage|CURRENT|resistance')
scpi_match($header, '[:abcdef]:ghi[:jkl]')
are convenient replacements for
$header =~ /^(voltage:aperture|voltage:aper|voltage|volt:aperture|volt:aper|volt)$/i
$header =~ /^(voltage|volt|current|curr|resistance|res)$/i
$header =~ /^(:abcdef:ghi:jkl|:abcdef:ghi|:abcd:ghi:jkl|:abcd:ghi|:ghi:jkl|:ghi)$/i
respectively.
Leading and trailing whitespace is removed from the first argument, before matching against the keyword.
Keyword Structure
See Sec. 6 "Program Headers" in the SCPI spec. Always give the long form of a keyword; the short form will be derived automatically. The colon is optional for the first mnemonic. There must be at least one non-optional mnemonic in the keyword.
scpi_match
will throw, if it is given an invalid keyword.