HTTP::Headers::Util man page on HP-UX

Man page or keyword search:  
man Server   10987 pages
apropos Keyword Search (all sections)
Output format
HP-UX logo
[printable version]

HTTP::Headers::Util(3)User Contributed Perl DocumentatioHTTP::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 construc‐
       tion 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".  Syntacti‐
	   cally incorrect headers will not necessary 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 argu‐
	   ments (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.8.8			  2008-09-24		HTTP::Headers::Util(3)
[top]

List of man pages available for HP-UX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net