![]() |
![]()
| ![]() |
![]()
NAMECGI::FormBuilder::Util - Utility functions for FormBuilder SYNOPSISuse CGI::FormBuilder::Util; belch "Badness"; puke "Egads"; debug 2, "Debug message for level 2"; DESCRIPTIONThis 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 FUNCTIONSThese 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 FUNCTIONSThese 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. basenameReturns the script name or $0 hacked up to the first dir SEE ALSOCGI::FormBuilder REVISION$Id: Util.pm 100 2007-03-02 18:13:13Z nwiger $ AUTHORCopyright (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.
|