CGI::FormBuilder::Util(3) User Contributed Perl Documentation 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 "" 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 . 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. perl v5.38.0 2023-07-25 CGI::FormBuilder::Util(3)