Provided by: libcgi-formbuilder-perl_3.10-6_all bug

NAME

       CGI::FormBuilder::Util - Utility functions for FormBuilder

SYNOPSIS

           use CGI::FormBuilder::Util;

           belch "Badness";
           puke "Egads";
           debug 2, "Debug message for level 2";

DESCRIPTION

       This module exports some common utility functions for FormBuilder.  These functions are
       intended for internal use, however I must admit that, from time to time, I just import
       this module and use some of the routines directly (like "htmltag()" to generate HTML).

USEFUL FUNCTIONS

       These can be used directly and are somewhat useful. Don't tell anyone I said that, though.

   debug($level, $string)
       This prints out the given string only if $DEBUG is greater than the $level specified. For
       example:

           $CGI::FormBuilder::Util::DEBUG = 1;
           debug 1, "this is printed";
           debug 2, "but not this one";

       A newline is automatically included, so don't provide one of your own.

   belch($string)
       A modified "warn" that prints out a better message with a newline added.

   puke($string)
       A modified "die" that prints out a useful message.

   escapeurl($string)
       Returns a properly escaped string suitable for including in URL params.

   escapehtml($string)
       Returns an HTML-escaped string suitable for embedding in HTML tags.

   escapejs($string)
       Returns a string suitable for including in JavaScript. Minimal processing.

   htmltag($name, %attr)
       This generates an XHTML-compliant tag for the name $name based on the %attr specified. For
       example:

           my $table = htmltag('table', cellpadding => 1, border => 0);

       No routines are provided to close tags; you must manually print a closing "</table>" tag.

   htmlattr($name, %attr)
       This cleans any internal FormBuilder attributes from the specified tag.  It is
       automatically called by "htmltag()".

   toname($string)
       This is responsible for the auto-naming functionality of FormBuilder.  Since you know
       Perl, it's easiest to just show what it does:

           $name =~ s!\.\w+$!!;                # lose trailing ".suf"
           $name =~ s![^a-zA-Z0-9.-/]+! !g;    # strip non-alpha chars
           $name =~ s!\b(\w)!\u$1!g;           # convert _ to space/upper

       This results in something like "cgi_script.pl" becoming "Cgi Script".

   tovar($string)
       Turns a string into a variable name. Basically just strips "\W", and prefixes "fb_" on the
       front of it.

   ismember($el, @array)
       Returns true if $el is in @array

USELESS FUNCTIONS

       These are totally useless outside of FormBuilder internals.

   autodata($ref)
       This dereferences $ref and returns the underlying data. For example:

           %hash  = autodata($hashref);
           @array = autodata($arrayref);

   arghash(@_)
       This returns a hash of options passed into a sub:

           sub field {
               my $self = shift;
               my %opt  = arghash(@_);
           }

       It will return a hashref in scalar context.

   arglist(@_)
       This returns a list of args passed into a sub:

           sub value {
               my $self = shift;
               $self->{value} = arglist(@_);

       It will return an arrayref in scalar context.

   indent($num)
       A simple sub that returns 4 spaces x $num. Used to indent code.

   optalign(\@opt)
       This returns the options specified as an array of arrayrefs, which is what FormBuilder
       expects internally.

   optsort($sortref, @opt)
       This sorts and returns the options based on $sortref. It expects @opt to be in the format
       returned by "optalign()". The $sortref spec can be the string "NAME", "NUM", or a
       reference to a &sub which takes pairs of values to compare.

   optval($opt)
       This takes one of the elements of @opt and returns it split up.  Useless outside of
       FormBuilder.

   rearrange($ref, $name)
       Rearranges arguments designed to be per-field from the global inheritor.

   basename
       Returns the script name or $0 hacked up to the first dir

SEE ALSO

       CGI::FormBuilder

REVISION

       $Id: Util.pm 100 2007-03-02 18:13:13Z nwiger $

AUTHOR

       Copyright (c) Nate Wiger <http://nateware.com>. All Rights Reserved.

       This module is free software; you may copy this under the terms of the GNU General Public
       License, or the Artistic License, copies of which should have accompanied your Perl kit.