![]() |
![]()
| ![]() |
![]()
NAMECGI::FormBuilder::Util - Utility functions for FormBuilderSYNOPSISuse 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 @arrayUSELESS 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 dirSEE ALSOCGI::FormBuilderREVISION$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.
|