field data
Field Designer 0.6.2
The Field Designer is a program for designing sub-air paintball fields. more>>
Main features:
- Delete Figure
- Editable properties
- Default XML Encoding
- Tippie figure
- Tombstone figure
- Export a JPG picture of the field
- Povray Export
- Copy and Paste
- Context menu
- Tactics plugin
- Rotate figures
- 3D field walking
Enhancements:
- A tactics editor was added, allowing you to develop your tactics directly in the field designer.
- Real units of measure can be used, so 32px will represent whatever unit of measure you define.
- When you create a new field layout, you can set the size of the field, which will be shown while drawing the field.
- Fields can be exported to SVG, BMP, JPEG, or PDF.
- The last page of the field creation wizard does not work correctly under Win32.
fields::aliased 1.05
fields::aliased is a Perl module that can create aliases for object fields. more>>
SYNOPSIS
package MyPackage;
use strict;
use fields qw($scalar @array %hash);
sub new {
my $class = shift;
my $self = fields::new($class);
return $self;
}
sub mymethod {
my MyPackage $self = shift;
use fields::aliased qw($self $scalar @array %hash);
$scalar = 1;
@array = (2 .. 4);
%hash = (one => 1, two => 2);
}
This module is a companion to the fields module, which allows efficient handling of instance variables with checking at compile time. It goes one step further and actually creates lexical aliases to the instance values, which can make code not only easier to type, but easier to read as well.
Declarations
You declare the fields using the fields pragma, as always.
use fields qw($scalar @array %hash nosigil);
Each field name may be preceded by a type sigil to indicate which kind of variable it is. Names without the type sigil are treated as scalars.
For names beginning with an underscore, see "PRIVATE FIELDS" below.
Constructors
You call fields::new to create the object.
my $self = fields::new($class);
Usage
In each method that uses the individual fields, you add a line similar to the following:
use fields::aliased qw($self $scalar @array %hash nosigil);
That is, list the variable being used for the object reference, and then the names of the fields that you are going to use in this method. fields::aliased takes care of declaring the appropriate Perl lexical variables and linking them to the appropriate field. You only need to specify the fields you are actually going to use, including any inherited from superclasses.
Mail::Field 1.74
Mail::Field is a base class for manipulation of mail header fields. more>>
SYNOPSIS
use Mail::Field;
$field = Mail::Field->new(Subject, some subject text);
print $field->tag,": ",$field->stringify,"n";
$field = Mail::Field->subject(some subject text);
Mail::Field is a base class for packages that create and manipulate fields from Email (and MIME) headers. Each different field will have its own sub-class, defining its own interface.
This document describes the minimum interface that each sub-class should provide, and also guidlines on how the field specific interface should be defined.
Sort::Fields 0.90
Sort::Fields is a Perl module that can sort lines containing delimited fields. more>>
SYNOPSIS
use Sort::Fields;
@sorted = fieldsort [3, 2n], @lines;
@sorted = fieldsort +, [-1, -3, 0], @lines;
$sort_3_2n = make_fieldsort [3, 2n], @lines;
@sorted = $sort_3_2n->(@lines);
Sort::Fields provides a general purpose technique for efficiently sorting lists of lines that contain data separated into fields.
Sort::Fields automatically imports two subroutines, fieldsort and make_fieldsort, and two variants, stable_fieldsort and make_stable_fieldsort. make_fieldsort generates a sorting subroutine and returns a reference to it. fieldsort is a wrapper for the make_fieldsort subroutine.
The first argument to make_fieldsort is a delimiter string, which is used as a regular expression argument for a split operator. The delimiter string is optional. If it is not supplied, make_fieldsort splits each line using /s+/.
The second argument is an array reference containing one or more field specifiers. The specifiers indicate what fields in the strings will be used to sort the data. The specifier "1" indicates the first field, "2" indicates the second, and so on. A negative specifier like "-2" means to sort on the second field in reverse (descending) order. To indicate a numeric rather than alphabetic comparison, append "n" to the specifier. A specifier of "0" means the entire string ("-0" means the entire string, in reverse order).
The order in which the specifiers appear is the order in which they will be used to sort the data. The primary key is first, the secondary key is second, and so on.
fieldsort [1, 2], @data is roughly equivalent to make_fieldsort([1, 2])->(@data). Avoid calling fieldsort repeatedly with the same sort specifiers. If you need to use a particular sort more than once, it is more efficient to call make_fieldsort once and reuse the subroutine it returns.
stable_fieldsort and make_stable_fieldsort are like their "unstable" counterparts, except that the items that compare the same are maintained in their original order.
EXAMPLES
Some sample data (in array @data):
123 asd 1.22 asdd
32 ewq 2.32 asdd
43 rewq 2.12 ewet
51 erwt 34.2 ewet
23 erww 4.21 ewet
91 fdgs 3.43 ewet
123 refs 3.22 asdd
123 refs 4.32 asdd
# alpha sort on column 1
print fieldsort [1], @data;
123 asd 1.22 asdd
123 refs 3.22 asdd
123 refs 4.32 asdd
23 erww 4.21 ewet
32 ewq 2.32 asdd
43 rewq 2.12 ewet
51 erwt 34.2 ewet
91 fdgs 3.43 ewet
# numeric sort on column 1
print fieldsort [1n], @data;
23 erww 4.21 ewet
32 ewq 2.32 asdd
43 rewq 2.12 ewet
51 erwt 34.2 ewet
91 fdgs 3.43 ewet
123 asd 1.22 asdd
123 refs 3.22 asdd
123 refs 4.32 asdd
# reverse numeric sort on column 1
print fieldsort [-1n], @data;
123 asd 1.22 asdd
123 refs 3.22 asdd
123 refs 4.32 asdd
91 fdgs 3.43 ewet
51 erwt 34.2 ewet
43 rewq 2.12 ewet
32 ewq 2.32 asdd
23 erww 4.21 ewet
# alpha sort on column 2, then alpha on entire line
print fieldsort [2, 0], @data;
123 asd 1.22 asdd
51 erwt 34.2 ewet
23 erww 4.21 ewet
32 ewq 2.32 asdd
91 fdgs 3.43 ewet
123 refs 3.22 asdd
123 refs 4.32 asdd
43 rewq 2.12 ewet
# alpha sort on column 4, then numeric on column 1, then reverse
# numeric on column 3
print fieldsort [4, 1n, -3n], @data;
32 ewq 2.32 asdd
123 refs 4.32 asdd
123 refs 3.22 asdd
123 asd 1.22 asdd
23 erww 4.21 ewet
43 rewq 2.12 ewet
51 erwt 34.2 ewet
91 fdgs 3.43 ewet
# now, splitting on either literal period or whitespace
# sort numeric on column 4 (fractional part of decimals) then
# numeric on column 3 (whole part of decimals)
print fieldsort (?:.|s+), [4n, 3n], @data;
51 erwt 34.2 ewet
43 rewq 2.12 ewet
23 erww 4.21 ewet
123 asd 1.22 asdd
123 refs 3.22 asdd
32 ewq 2.32 asdd
123 refs 4.32 asdd
91 fdgs 3.43 ewet
# alpha sort on column 4, then numeric on the entire line
# NOTE: produces warnings under -w
print fieldsort [4, 0n], @data;
32 ewq 2.32 asdd
123 asd 1.22 asdd
123 refs 3.22 asdd
123 refs 4.32 asdd
23 erww 4.21 ewet
43 rewq 2.12 ewet
51 erwt 34.2 ewet
91 fdgs 3.43 ewet
# stable alpha sort on column 4 (maintains original relative order
# among items that compare the same)
print stable_fieldsort [4], @data;
123 asd 1.22 asdd
32 ewq 2.32 asdd
123 refs 3.22 asdd
123 refs 4.32 asdd
43 rewq 2.12 ewet
51 erwt 34.2 ewet
23 erww 4.21 ewet
91 fdgs 3.43 ewet
Tie::FieldVals 0.40
Tie::FieldVals is an array tie for a file of enhanced Field:Value data. more>>
SYNOPSIS
use Tie::FieldVals;
use Tie::FieldVals::Row;
# tie the array
my @records;
my $recs_obj = tie @records, Tie::FieldVals, datafile=>$datafile;
# object methods
my @field_names = $recs_obj->field_names();
This is a Tie object to map the records in an enhanced Field:Value data file into an array. Each file has multiple records, each record has its values defined by a Field:Value pair, with the enhancements that (a) the Value part can extend over more than one line (because the Field names are predefined) and (b) Fields can have multiple values by repeating the Field:Value part for a given field.
Because of its use of the Tie::File module, access to each record is reasonably fast. The Tie::File module also ensures that (a) the whole file doesnt have to be read into memory (b) record changes are written to the file straight away (c) record changes dont require the whole file to be rewritten, just the part of the file after the change.
The advantage of this setup is that one can have useful data files which are plain text, human readable, human editable, and at the same time able to be accessed faster than using XML (I know, I wrote a version of my reporting software using XML data, and even the fastest XML parsers werent as fast as this setup, once there were a reasonable number of records). This also has advantages over a simpler setup where values are given one per line with no indication of what value belongs to what field; the problems with that is that it is harder to fix corrupted data by hand, and it is harder to add new fields, and one cant have multi-line data.
It is likewise better than a CSV (Comma-Separated Values) file, because again, with a CSV file, the data is positional and therefore harder to fix and harder to change, and again one cant have multi-line data.
This module is both better and worse than file-oriented databases like DB_File and its variants and extensions (such as MLDBM). This module does not require that each record have a unique key, and the fact that a DBM file is binary makes it not only less correctable, but also less portable. On the downside, this module isnt as fast.
Naturally, if ones data needs are more complex, it is probably better to use a fully-fledged database; this is oriented towards those who dont wish to have the overhead of setting up and maintaining a relational database server, and wish to use something more straightforward.
This comes bundled with other support modules, such as the Tie::FieldVals::Row module. The Tie::FieldVals::Select module is for selecting and sorting a sub-set from a Tie::FieldVals array, and the Tie::FieldVals::Join is a very simple method of joining two files on a common field.
This distribution includes the fv2xml script, which converts a Tie::FieldVals data file into an XML file, and xml2fv which converts an XML file into a Tie::FieldVals data file.

Unicode Data Browser 1.5
UnicodeDataBrowser is a very useful browser designed for the UnicodeData.txt file which consists of much useful information but is not easily read by humans. more>>
UnicodeDataBrowser 1.5 is a very useful browser designed for the UnicodeData.txt file which consists of much useful information but is not easily read by humans. The browser creates a scrollable table in which columns represent properties.
The table may be sorted on any column. Abbreviations are expanded and characters cross-referenced in decomposition and casing fields are named. Regular expression search restricted to a selected column is available. The set of characters for which information is displayed may be restricted to those characters matching a regular expression on a specified property.
Each such filtering operation applies to the output of the previous filtering operation unless the table is reset to the original full set of characters, so filtering on multiple properties is possible.
Enhancements: Adds canonical decomposition info for Hangul syllables.
<<lessTest::Data 1.20
Test::Data is a Perl module to test functions for particular variable types. more>>
SYNOPSIS
use Test::Data qw(Scalar Array Hash Function);
Test::Data provides utility functions to check properties and values of data and variables.
Functions
Plug-in modules define functions for each data type. See the appropriate module.
How it works
The Test::Data module simply emports functions from Test::Data::* modules. Each module defines a self-contained function, and puts that function name into @EXPORT. Test::Data defines its own import function, but that does not matter to the plug-in modules.
If you want to write a plug-in module, follow the example of one that already exists. Name the module Test::Data::Foo, where you replace Foo with the right name. Test::Data should automatically find it.
Gimp::Data 1.211
Gimp::Data is a Perl module to set and get state data. more>>
SYNOPSIS
use Gimp::Data;
$Gimp::Data{value1} = "Hello";
print $Gimp::Data{value1},", World!!n";
With this module, you can access plugin-specific (or global) data in Gimp, i.e. you can store and retrieve values that are stored in the main Gimp application.
An example would be to save parameter values in Gimp, so that on subsequent invocations of your plug-in, the user does not have to set all parameter values again (Gimp::Fu does this already).
DOG Data Organizer 0.4.2
DOG Data Organizer provides a bookmark organizer for various bookmark types. more>>
DOG is a personal knowledge manager based on topic maps. It currently specializes in managing bookmarks.
It imports and exports Netscape, Mozilla, and KDE2 (XBEL) bookmark files, and it imports KDE1 bookmarks and Windows IE Favorites.
Local Data Manager 6.6.5
Local Data Manager is a collection of cooperating programs that select, capture, manage, and distribute arbitrary data products. more>>
The system is designed for event-driven data distribution, and is currently used in the Unidata Internet Data Distribution (IDD) project. The LDM system includes network client and server programs and their shared protocols.
An important characteristic of the LDM is its support for flexible, site-specific configuration.
Enhancements:
- Fixes for timestamp bugs.
Evolution Data Server 1.10.3.1
Evolution Data Server provides a single database for common, desktop-wide information. more>>
Evolution Data Server is also a dependency of the clock applet from the gnome-applets package, 2.10 release.
Evolution provides integrated mail, addressbook and calendaring functionality to users of the GNOME desktop.
Eclipse Fieldviewer 1.0.0
Eclipse FieldViewer is a structured viewer component that displays data entry fields for model objects. more>>
Eclipse FieldViewer is similar to the TableViewer component from JFace. Eclipse Fieldviewer separates the model from viewers in a similar way using Content- and Labelproviders to bind the data to the fields of the viewer. A Fieldviewer can display an array of similar elements. Unlike a tableviewer only a single element is shown at a time. The layout of the fields is not predefined as in a tableviewer.
This widget can be used in software using other JFace components (eg RCP applications).
Main features:
- interface similar to that of a JFace-TableViewer()
- ContentProvider(), LabelProvider() and Font-/ColorProvider()
- fields can display text and/or image
- ViewerSorter() and ViewerFilter()
- semi-automatic layout for simple requirements
- fully configurable layout of fields if necessary
- editable fields using standard CellEditors
Unlike a table viewer the Eclipse Fieldviewer is not a widget that has very unique features by itself. An experienced programmer can easily create the fields from scratch or use a tool for this task.
An Eclipse Fieldviewer widget is nice if you have to display data from a database where the user decides which element to display. It is also very well suited if you combine a Tableviewer()/TreeViewer() with a FieldViewer() and the user can decide how he wants the data displayed. Editable fields in these widgets use CellEditors to change the contents of the underlying model so the corresponding code can be reused and is not specifically tied to a single field.
CGI::Validate 2.000
CGI::Validate is an advanced CGI form parser and type validation. more>>
SYNOPSIS
use CGI::Validate; # GetFormData() only
use CGI::Validate qw(:standard); # Normal use
use CGI::Validate qw(:subs); # Just functions
use CGI::Validate qw(:vars); # Just exception vars
## If you dont want it to check that every requested
## element arrived you can use this. But I dont recommend it
## for most users.
$CGI::Validate::Complete = 0;
## If you dont care that some fields in the form dont
## actually match what you asked for. -I dont recommend
## this unless you REALLY know what youre doing because this
## normally meens youve got typos in your HTML and we cant
## catch them if you set this.
## $CGI::Validate::IgnoreNonMatchingFields = 1;
my $FieldOne = Default String;
my $FieldTwo = 8;
my $FieldThree = some default string;
my @FieldFour = (); ## For multi-select field
my @FieldFive = (); ## Ditto
my $EmailAddress= ;
## Try...
my $Query = GetFormData (
FieldOne=s => $FieldOne, ## Required string
FieldTwo=i => $FieldTwo, ## Required int
FieldThree => $FieldThree, ## Auto converted to the ":s" type
FieldFour=s => @FieldFour, ## Multi-select field of strings
FieldFive=f => @FieldFive, ## Multi-select field of floats
Email=e => $EmailAddress, ## Must look like an email address
) or do {
## Catch... (wouldnt you just love a case statement here?)
if (%Missing) {
die "Missing form elements: " . join ( , keys %Missing);
} elsif (%Invalid) {
die "Invalid form elements: " . join ( , keys %Invalid);
} elsif (%Blank) {
die "Blank form elements: " . join ( , keys %Blank);
} elsif (%InvalidType) {
die "Invalid data types for fields: " . join ( , keys %InvalidType);
} else {
die "GetFormData() exception: $CGI::Validate::Error";
}
};
## If you only want to check the form data, but dont want to
## have CGI::Validate set anything use this. -You still have full
## access to the data via the normal B object that is returned.
use CGI::Validate qw(CheckFormData); # not exported by default
my $Query = CheckFormData (
FieldOne=s, FieldTwo=i, FieldThree, FieldFour,
FieldFive, Email,
) or do {
... Same exceptions available as GetFormData above ...
};
## Need some of your own validation code to be used? Here is how you do it.
addExtensions (
myType => sub { $_[0] =~ /test/ },
fooBar => &fooBar,
i_modify_the_actual_data => sub {
if ($_[0] =~ /test/) { ## data validation
$_[0] = whatever; ## modify the data by alias
return 1;
} else {
return 0;
}
},
);
my $Query = GetFormData (
foo=xmyType => $foo,
bar=xfooBar => $bar,
cat=xi_modify_the_actual_data => $cat,
);
## Builtin data type checks available are:
s string # Any non-zero length value
w word # Must have at least one w char
i integer # Integer value
f float # Float value
e email # Must match m/^s*]+@[^@.]+(?:.[^@.]+)+>?s*$/
x extension # User extension type. See EXTENSIONS below.
Basicly a blending of the CGI and Getopt::Long modules, and requires the CGI module to function.
The basic concept of this module is to combine the best features of the CGI and Getopt::Long modules. The CGI module is great for parsing, building, and rebuilding forms, however it lacks any real error checking abilitys such as misspelled form input names, the data types received from them, missing values, etc. This however, is something that the Getopt::Long module is vary good at doing. So, basicly this module is a layer that collects the data using the CGI module and passes it to routines to do type validation and name consistency checks all in one clean try/catch style block.
The syntax of GetFormData() is mostly the same as the GetOptions() of Getopt::Long, with a few exceptions (namely, the handling of exceptions) . See the VALUE TYPES section for detail of the available types, and the EXCEPTIONS section for exception handling options. If given without a type, fields are assumed to be type ":s" (optional string), which is normally correct.
If successful, GetFormData() returns the CGI object that it used to parse the data incase you want to use it for anything else, and undef otherwise.
If you only want to do value type and name validation, use CheckFormData() instead with a field=type list. -See the SYNOPSIS for an example.
Mail::Message::Field 2.072
Mail::Message::Field contains one line of a message header. more>>
INHERITANCE
Mail::Message::Field
is a Mail::Reporter
Mail::Message::Field is extended by
Mail::Message::Field::Fast
Mail::Message::Field::Flex
Mail::Message::Field::Full
SYNOPSIS
my $field = Mail::Message::Field->new(From => fish@tux.aq);
print $field->name;
print $field->body;
print $field->comment;
print $field->content; # body & comment
$field->print(*OUT);
print $field->string;
print "$fieldn";
print $field->attribute(charset) || us-ascii;
This implementation follows the guidelines of rfc2822 as close as possible, and may there produce a different output than implementations based on the obsolete rfc822. However, the old output will still be accepted.
These objects each store one header line, and facilitates access routines to the information hidden in it. Also, you may want to have a look at the added methods of a message:
my @from = $message->from;
my $sender = $message->sender;
my $subject = $message->subject;
my $msgid = $message->messageId;
my @to = $message->to;
my @cc = $message->cc;
my @bcc = $message->bcc;
my @dest = $message->destinations;
my $other = $message->get(Reply-To);
Google::Adwords::Data 0.6.0
Google::Adwords::Data is base class for the Data modules. more>>
This module is not supposed to be used directly. Use the child data modules.