Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmksyntax(5) [debian man page]

PMKSYNTAX(5)						      BSD File Formats Manual						      PMKSYNTAX(5)

NAME
PMK Syntax -- PMK files syntax manual DESCRIPTION
This manual page describe the basic syntax used in PMK files such as pmkfile and scanfile DATA TYPES
PMK uses pseudo types like the following: bool The classical boolean type with TRUE and FALSE values. For example: TRUE FALSE identifier An identifier is a string of alphanumerical and underscores characters. For example: REQUIRED a_label underscores_are_nice quoted This means quoted string which can contain a set of characters delimited by quotation marks. For examples: "simple quoted string" "string that contain "quotes" backslashed" "can also contain filenames like pmkfile.scan" list It is one or more of the previous types between brackets. Multiple objects are separated with a comma. Blanks are currently not allowed beside commas, this means that you can find them only in a quoted string of the list. For example: ("only_one_string") ("added a boolean",TRUE) (mixed_list_of,"words","and",TRUE,"quoted strings") BASIC SYNTAX
PMK can contain comments, blank lines and commands. A command has the following format (? character means optional field): <command><?(label)> { <body> } The command and label names can be assimilated to the 'word' type. See DATA TYPES above. The body can contain comment(s) and definition line(s). A commented line start with a '#' character like the following: # this is a comment line A definition line has the following format: <?blank><key name><?blank>=<?blank><key value> The key name is of identifier type. The key value type can be 'bool', 'quoted' or 'list'. The right type will depend on the key name (see further). For example: CHECK_INCLUDE(header_sys_param) { # following options use different uses of blank characters # key value is word type REQUIRED = TRUE # key value is list type DEPEND= ("dep_one",dep_two,"dep_three") # key value is quoted type INCLUDE = "sys/param.h" } SEE ALSO
pmkfile(5), scanfile(5) BSD
November 5, 2005 BSD

Check Out this Related Man Page

HTTP::Headers::Util(3)					User Contributed Perl Documentation				    HTTP::Headers::Util(3)

NAME
HTTP::Headers::Util - Header value parsing utility functions SYNOPSIS
use HTTP::Headers::Util qw(split_header_words); @values = split_header_words($h->header("Content-Type")); DESCRIPTION
This module provides a few functions that helps parsing and construction of valid HTTP header values. None of the functions are exported by default. The following functions are available: split_header_words( @header_values ) This function will parse the header values given as argument into a list of anonymous arrays containing key/value pairs. The function knows how to deal with ",", ";" and "=" as well as quoted values after "=". A list of space separated tokens are parsed as if they were separated by ";". If the @header_values passed as argument contains multiple values, then they are treated as if they were a single value separated by comma ",". This means that this function is useful for parsing header fields that follow this syntax (BNF as from the HTTP/1.1 specification, but we relax the requirement for tokens). headers = #header header = (token | parameter) *( [";"] (token | parameter)) token = 1*<any CHAR except CTLs or separators> separators = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "" | <"> | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) qdtext = <any TEXT except <">> quoted-pair = "" CHAR parameter = attribute "=" value attribute = token value = token | quoted-string Each header is represented by an anonymous array of key/value pairs. The keys will be all be forced to lower case. The value for a simple token (not part of a parameter) is "undef". Syntactically incorrect headers will not necessarily be parsed as you would want. This is easier to describe with some examples: split_header_words('foo="bar"; port="80,81"; DISCARD, BAR=baz'); split_header_words('text/html; charset="iso-8859-1"'); split_header_words('Basic realm="\"foo\\bar\""'); will return [foo=>'bar', port=>'80,81', discard=> undef], [bar=>'baz' ] ['text/html' => undef, charset => 'iso-8859-1'] [basic => undef, realm => ""foo\bar""] If you don't want the function to convert tokens and attribute keys to lower case you can call it as "_split_header_words" instead (with a leading underscore). join_header_words( @arrays ) This will do the opposite of the conversion done by split_header_words(). It takes a list of anonymous arrays as arguments (or a list of key/value pairs) and produces a single header value. Attribute values are quoted if needed. Example: join_header_words(["text/plain" => undef, charset => "iso-8859/1"]); join_header_words("text/plain" => undef, charset => "iso-8859/1"); will both return the string: text/plain; charset="iso-8859/1" COPYRIGHT
Copyright 1997-1998, Gisle Aas This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.18.2 2012-02-16 HTTP::Headers::Util(3)
Man Page