savage
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 14
Savage: The Battle for Newerth 2.00e
Savage: The Battle for Newerth SEP 2 for Linux is a patch for Savage game. more>>
Savage: The Battle for Newerth SEP 2 for Linux is a patch for Savage game.
Serverside Demos, with the possibility of multiple players watching the same replay on the same replay server at the same time!
Fixed ALL known bugs and exploits, including tons of non-public ones. Even more so than in the original SEP-2 release.
Improved clientside performance and loading speed, up to 25-50% each, depending on your configuration.
Lower pings, especially so on SEP-2 servers (only when on the field, to minimize bandwidth costs)
Enhancements:
- highly optimized rewritten network code
- two new Healer class units
- two new structures
- all new weapons effects
- new items
- new maps
- engine enhancements which increase frame rate by up to 40% on many computer systems
- numerous bug/exploit fixes
- new gameplay and balance tweaks
- introduces Demo Recording
<<lessServerside Demos, with the possibility of multiple players watching the same replay on the same replay server at the same time!
Fixed ALL known bugs and exploits, including tons of non-public ones. Even more so than in the original SEP-2 release.
Improved clientside performance and loading speed, up to 25-50% each, depending on your configuration.
Lower pings, especially so on SEP-2 servers (only when on the field, to minimize bandwidth costs)
Enhancements:
- highly optimized rewritten network code
- two new Healer class units
- two new structures
- all new weapons effects
- new items
- new maps
- engine enhancements which increase frame rate by up to 40% on many computer systems
- numerous bug/exploit fixes
- new gameplay and balance tweaks
- introduces Demo Recording
Download (315.4MB)
Added: 2006-09-19 License: Freeware Price:
2614 downloads
SabayonLinux 3.4e
Sabayon Linux is a live DVD designed to transform a computer into a powerful Gentoo Linux system in less than 5 minutes. more>>
Sabayon Linux is a live DVD designed to transform a computer into a powerful Gentoo Linux system in less than 5 minutes.
Gentoo Linux is a Linux distribution powered by a software install manager engine called "Portage". Besides functioning as a live DVD, Sabayon Linux can also be installed on a hard disk, acting effectively as an easy-to-use Gentoo installation disk.
The live DVD includes a large range of desktop environments and open source software applications, such as KDE, GNOME, XFce, Fluxbox, KOffice, OpenOffice.org, FreeNX, amaroK, Kaffeine, etc.
Whats New in 3.4 Release:
- The most advanced: Linux Kernel 2.6.22 with extra Power Management (PowerTop), Wireless (mac80211), Ext4 Filesystem, Scheduler (CFS) and Virtualization (KVM,Virt-Manager,VirtualBox) support
- Gaming oriented: featuring,
- Savage 2
- FlightGear
- DangerDeep
- Warsow
- Nexuiz
- Torcs
- Battle of Wesnoth
- Latest NVIDIA (100.14.11) and AMD (8.38.6) GPU drivers
- The most Windows-aware: supporting NTFS in read/write and Wine Doors utility, that let you install Windows applications as easy as 1-2-3 (using Wine 0.9.40).
- The first to support Ext4 File System: for the braves, Sabayon Linux Installer can easily handle it.
- The most Stable Cutting Edge DVD: featuring Compiz Fusion and Metisse (Technology Preview) integration
- Much more flexible: the Installer now features a really improved execution speed, RAID10 support, Ext4 Support, UUID device naming support, a Packages Selector, a Boot Services Selector and also a Core/Minimal Install Method (Server deployments)
- The Most Laptop Aware: tested and optimized also for Laptop usage
- X.Org 7.3 with automatic Monitor configuration
- KDE 3.5.7
- GNOME 2.18.2
- Strong identity: no Server applications installed (you will find them in the Business Edition)
- Less Duplicated Packages: removed about 140 duplicated applications
- Better Mactel support: added support for Intel ICH8M, Atheros Wireless cards, Backlight management and new Synaptics touchpads
- Better Out of the Box hardware support: Agere et131x,
- VMware Guest Installation Support
- Media Center capabilities: featuring GeeXbox 1.1 and Elisa Media Center (Technology Preview)
- Incredible set of installed and preconfigured Applications (see Packages List below)
- The most tested Stable Release: in the last 4 months, our Core Beta Team have done a great work to accomply our always growing QA standards. This transformed Sabayon Linux 3.4 in the most reliable version ever released.
Enhancements:
- We are happy to announce Sabayon Linux 3.4 Revision E. Distribution updates: introduced a (teaser) pre-alpha release of the Entropy stack (Equo application); updated Portato to 0.8.0; updated Compiz Fusion to work with XGL and AMD/ATI cards; updated WINE to 0.9.42 and fixed Wine Doors; re-introduced sudo after install; updated Second Life to 1.18.0.6; fixed partitioning issues on some system caused by dmraid stack (disabled by default now); re-introduced old and stable ipw3945 driver; updated pommed to 1.7 (better MacBook support); re-introduced old bcm43xx wireless driver.
<<lessGentoo Linux is a Linux distribution powered by a software install manager engine called "Portage". Besides functioning as a live DVD, Sabayon Linux can also be installed on a hard disk, acting effectively as an easy-to-use Gentoo installation disk.
The live DVD includes a large range of desktop environments and open source software applications, such as KDE, GNOME, XFce, Fluxbox, KOffice, OpenOffice.org, FreeNX, amaroK, Kaffeine, etc.
Whats New in 3.4 Release:
- The most advanced: Linux Kernel 2.6.22 with extra Power Management (PowerTop), Wireless (mac80211), Ext4 Filesystem, Scheduler (CFS) and Virtualization (KVM,Virt-Manager,VirtualBox) support
- Gaming oriented: featuring,
- Savage 2
- FlightGear
- DangerDeep
- Warsow
- Nexuiz
- Torcs
- Battle of Wesnoth
- Latest NVIDIA (100.14.11) and AMD (8.38.6) GPU drivers
- The most Windows-aware: supporting NTFS in read/write and Wine Doors utility, that let you install Windows applications as easy as 1-2-3 (using Wine 0.9.40).
- The first to support Ext4 File System: for the braves, Sabayon Linux Installer can easily handle it.
- The most Stable Cutting Edge DVD: featuring Compiz Fusion and Metisse (Technology Preview) integration
- Much more flexible: the Installer now features a really improved execution speed, RAID10 support, Ext4 Support, UUID device naming support, a Packages Selector, a Boot Services Selector and also a Core/Minimal Install Method (Server deployments)
- The Most Laptop Aware: tested and optimized also for Laptop usage
- X.Org 7.3 with automatic Monitor configuration
- KDE 3.5.7
- GNOME 2.18.2
- Strong identity: no Server applications installed (you will find them in the Business Edition)
- Less Duplicated Packages: removed about 140 duplicated applications
- Better Mactel support: added support for Intel ICH8M, Atheros Wireless cards, Backlight management and new Synaptics touchpads
- Better Out of the Box hardware support: Agere et131x,
- VMware Guest Installation Support
- Media Center capabilities: featuring GeeXbox 1.1 and Elisa Media Center (Technology Preview)
- Incredible set of installed and preconfigured Applications (see Packages List below)
- The most tested Stable Release: in the last 4 months, our Core Beta Team have done a great work to accomply our always growing QA standards. This transformed Sabayon Linux 3.4 in the most reliable version ever released.
Enhancements:
- We are happy to announce Sabayon Linux 3.4 Revision E. Distribution updates: introduced a (teaser) pre-alpha release of the Entropy stack (Equo application); updated Portato to 0.8.0; updated Compiz Fusion to work with XGL and AMD/ATI cards; updated WINE to 0.9.42 and fixed Wine Doors; re-introduced sudo after install; updated Second Life to 1.18.0.6; fixed partitioning issues on some system caused by dmraid stack (disabled by default now); re-introduced old and stable ipw3945 driver; updated pommed to 1.7 (better MacBook support); re-introduced old bcm43xx wireless driver.
Download (MB)
Added: 2007-08-08 License: GPL (GNU General Public License) Price:
814 downloads
Data::Page::Viewport 1.02
Data::Page::Viewport is a Perl module to scroll thru data a page, or just an item, at a time. more>>
Data::Page::Viewport is a Perl module to scroll thru data a page, or just an item, at a time.
Synopsis
This is a complete, tested, runnable program.
#!/usr/bin/perl
use strict;
use warnings;
use Data::Page::Viewport;
# -----------------------------------------------
my(@data) = (qw/zero one two three four five six
seven eight nine ten eleven twelve thirteen fourteen/);
my($page) = Data::Page::Viewport -> new
(
data_size => scalar @data,
page_size => 4
);
print "Data bounds: 0 .. $#data. n";
print "Data: ", join(, , @data), ". n";
print "Page bounds: 0 .. 3. n";
print "Page data: ", join(, , @data[0 .. 3]), ". n";
print "n";
my(@bound);
for (-2, 1, 4, 4, 1, 3, 3, -2, 1, 2, 1, -4, -4,
-1, 1, 2, -1, -2, -2, -1, -4, 4, 4, 4)
{
print "Offset: $_. n";
@bound = $page -> offset($_) -> bounds();
print "Page bounds: $bound[0] .. $bound[1]. n";
print Page data: ,
join(, , @data[$bound[0] .. $bound[1] ]),
". n";
print - x 50, "n";
}
Data::Page::Viewport is a pure Perl module.
This module keeps track of what items are on the current page, when you scroll forwards or backwards within a data set.
Similarly to Data::Page, you can call sub offset(N), for + or - N, to scroll thru the data a page at a time.
And, like Set::Window, you can call sub offset(N), for + or - 1, to scroll thru the data an item at a time.
Clearly, N does not have to be fixed.
The viewport provides access to the current page, and the code shifts indexes into and out of the viewport, according to the parameter passed to sub offset().
Note that the data is not passed into this module. The module only keeps track of the indexes within the viewport, i.e. indexes on the current page.
You call sub bounds() on the object (of type Set::Window) returned by sub offset(), to determine what indexes are on the current page at any particular point in time.
Also note that, unlike Set::Window, the boundaries of the viewport are rigid, so that changes to the indexes caused by sub offset() are limited by the size of the data set.
This means, if you do this:
my($page) = Data::Page::Viewport -> new
(
data_size => $#data, # 0 .. $#data.
page_size => $page_size, # 1 .. N.
);
my(@bound) = $page -> offset(- 1) -> bounds();
the call to sub offset(- 1) will have no effect.
That is, when trying to go back past the beginning of the data set, the bounds will be locked to values within 0 .. data_size.
Similarly, a call which would go beyond the other end of the data set, will lock the bounds to the same range.
In short, you cant fall off the edge by calling sub offset().
This in turn means that the values returned by sub bounds() will always be valid indexes within the range 0 .. data_size.
The module implements this by building 2 objects of type Set::Window, one for the original data set (which never changes), and one for the current page, which changes each time sub offset() is called (until the boundaries are hit, of course).
Note: No range checking is performed on the parameters to sub new().
Note: It should be obvious by now that this module differs from Data::Page, and indeed all such modules, in that they never change the items which are on a given page. They only allow you to change the page known as the current page. This module differs, in that, by calling sub offset(+ or - N), you are effectively changing the items which are deemed to be on the current page.
<<lessSynopsis
This is a complete, tested, runnable program.
#!/usr/bin/perl
use strict;
use warnings;
use Data::Page::Viewport;
# -----------------------------------------------
my(@data) = (qw/zero one two three four five six
seven eight nine ten eleven twelve thirteen fourteen/);
my($page) = Data::Page::Viewport -> new
(
data_size => scalar @data,
page_size => 4
);
print "Data bounds: 0 .. $#data. n";
print "Data: ", join(, , @data), ". n";
print "Page bounds: 0 .. 3. n";
print "Page data: ", join(, , @data[0 .. 3]), ". n";
print "n";
my(@bound);
for (-2, 1, 4, 4, 1, 3, 3, -2, 1, 2, 1, -4, -4,
-1, 1, 2, -1, -2, -2, -1, -4, 4, 4, 4)
{
print "Offset: $_. n";
@bound = $page -> offset($_) -> bounds();
print "Page bounds: $bound[0] .. $bound[1]. n";
print Page data: ,
join(, , @data[$bound[0] .. $bound[1] ]),
". n";
print - x 50, "n";
}
Data::Page::Viewport is a pure Perl module.
This module keeps track of what items are on the current page, when you scroll forwards or backwards within a data set.
Similarly to Data::Page, you can call sub offset(N), for + or - N, to scroll thru the data a page at a time.
And, like Set::Window, you can call sub offset(N), for + or - 1, to scroll thru the data an item at a time.
Clearly, N does not have to be fixed.
The viewport provides access to the current page, and the code shifts indexes into and out of the viewport, according to the parameter passed to sub offset().
Note that the data is not passed into this module. The module only keeps track of the indexes within the viewport, i.e. indexes on the current page.
You call sub bounds() on the object (of type Set::Window) returned by sub offset(), to determine what indexes are on the current page at any particular point in time.
Also note that, unlike Set::Window, the boundaries of the viewport are rigid, so that changes to the indexes caused by sub offset() are limited by the size of the data set.
This means, if you do this:
my($page) = Data::Page::Viewport -> new
(
data_size => $#data, # 0 .. $#data.
page_size => $page_size, # 1 .. N.
);
my(@bound) = $page -> offset(- 1) -> bounds();
the call to sub offset(- 1) will have no effect.
That is, when trying to go back past the beginning of the data set, the bounds will be locked to values within 0 .. data_size.
Similarly, a call which would go beyond the other end of the data set, will lock the bounds to the same range.
In short, you cant fall off the edge by calling sub offset().
This in turn means that the values returned by sub bounds() will always be valid indexes within the range 0 .. data_size.
The module implements this by building 2 objects of type Set::Window, one for the original data set (which never changes), and one for the current page, which changes each time sub offset() is called (until the boundaries are hit, of course).
Note: No range checking is performed on the parameters to sub new().
Note: It should be obvious by now that this module differs from Data::Page, and indeed all such modules, in that they never change the items which are on a given page. They only allow you to change the page known as the current page. This module differs, in that, by calling sub offset(+ or - N), you are effectively changing the items which are deemed to be on the current page.
Download (0.008MB)
Added: 2006-10-03 License: Perl Artistic License Price:
1117 downloads
gsQuery 0.1.1
gsQuery project is a PHP library that can query various game servers. more>>
gsQuery project is a PHP library that can query various game servers.
It allows you to query various game servers for things like number of players, the players itself, current map, etc. It also includes a ready to use example for non-PHP-aware people.
Games supported by "gsQuery":
- Unreal Tournamnet and most mods (gameSpy)
- Unreal Tournamnet 200x and most mods (gameSpy)
- Battlefield 1942 and most mods (gameSpy)
- Halflife and most Mods (hlife)
- Americas Army (armyGame)
- Quake 3 and some Mods (q3a)
- Star Trek: Elite Force (q3a)
- Medal of Honor Allied Assault (q3a)
- MoHAA: Spearhead/Breakthrough (mohs)
- Return to Castle Wolfenstein (q3a)
- Vietkong (vietkong)
- Rainbow Six: Raven Shield (rvnshld)
- Call of Duty (q3a)
- Battlefield Vietnam (gameSpyQ)
- Quake 2 and most mods (q2)
- Kingpin (q2)
- Sin (q2)
- Farcry (farCry)
- IGI2: Covert Strike (igi2)
- Jedi Knight 3 (q3a)
- Solider of Fortune 2 (sof2)
- Far Cry (farCry)
- Quake 2 (q2)
- Kingpin (q2)
- Heretic 2 (q2)
- Halo (halo)
- Deus Ex (deuxEX)
- Doom 3 (d3)
- Halflife 2 (hlife2)
- CS:Source (hlife2)
- Savage: The Battle For Newerth (savage)
- StarWars BattleFront (gameSpy)
- And probably more
<<lessIt allows you to query various game servers for things like number of players, the players itself, current map, etc. It also includes a ready to use example for non-PHP-aware people.
Games supported by "gsQuery":
- Unreal Tournamnet and most mods (gameSpy)
- Unreal Tournamnet 200x and most mods (gameSpy)
- Battlefield 1942 and most mods (gameSpy)
- Halflife and most Mods (hlife)
- Americas Army (armyGame)
- Quake 3 and some Mods (q3a)
- Star Trek: Elite Force (q3a)
- Medal of Honor Allied Assault (q3a)
- MoHAA: Spearhead/Breakthrough (mohs)
- Return to Castle Wolfenstein (q3a)
- Vietkong (vietkong)
- Rainbow Six: Raven Shield (rvnshld)
- Call of Duty (q3a)
- Battlefield Vietnam (gameSpyQ)
- Quake 2 and most mods (q2)
- Kingpin (q2)
- Sin (q2)
- Farcry (farCry)
- IGI2: Covert Strike (igi2)
- Jedi Knight 3 (q3a)
- Solider of Fortune 2 (sof2)
- Far Cry (farCry)
- Quake 2 (q2)
- Kingpin (q2)
- Heretic 2 (q2)
- Halo (halo)
- Deus Ex (deuxEX)
- Doom 3 (d3)
- Halflife 2 (hlife2)
- CS:Source (hlife2)
- Savage: The Battle For Newerth (savage)
- StarWars BattleFront (gameSpy)
- And probably more
Download (0.90MB)
Added: 2006-11-24 License: GPL (GNU General Public License) Price:
1071 downloads
Set::Array 0.14
Set::Array Perl module contains arrays as objects with lots of handy methods and support for method chaining. more>>
Set::Array Perl module contains arrays as objects with lots of handy methods (including Set comparisons) and support for method chaining.
SYNOPSIS
my $sao1 = Set::Array->new(1,2,4,"hello",undef);
my $sao2 = Set::Array->new(qw(a b c a b c));
print $sao1->length; # prints 5
$sao2->unique->length->print; # prints 3
Set::Array allows you to create arrays as objects and use OO-style methods on them. Many convenient methods are provided here that appear in the FAQs, the Perl Cookbook or posts from comp.lang.perl.misc. In addition, there are Set methods with corresponding (overloaded) operators for the purpose of Set comparison, i.e. +, ==, etc.
The purpose is to provide built-in methods for operations that people are always asking how to do, and which already exist in languages like Ruby. This should (hopefully) improve code readability and/or maintainability. The other advantage to this module is method-chaining by which any number of methods may be called on a single object in a single statement.
OBJECT BEHAVIOR
The exact behavior of the methods depends largely on the calling context.
Here are the rules:
* If a method is called in void context, the object itself is modified.
* If the method called is not the last method in a chain (i.e. its called in object context), the object itself is modified by that method regardless of the final context or method call.
* If a method is called in list or scalar context, a list or list refererence is returned, respectively. The object itself is NOT modified.
Heres a quick example:
my $sao = Set::Array->new(1,2,3,2,3);
my @uniq = $sao->unique(); # Object unmodified. @uniq contains 3 values.
$sao->unique(); # Object modified, now contains 3 values
Here are the exceptions:
* Methods that report a value, such as boolean methods like exists() or other methods such as at() or as_hash(), never modify the object.
* The methods clear(), delete(), delete_at(), and splice will always modify the object. It seemed much too counterintuitive to call these methods in any context without actually deleting/clearing/substituting the items!
* The methods shift() and pop() will modify the object AND return the value that was shifted or popped from the array. Again, it seemed much too counterintuitive for something like $val = $sao->shift to return a value while leaving the objects list unchanged. If you really want the first or last value without modifying the object, you can always use the first() or last() method, respectively.
* The join() method always returns a string and is really meant for use in conjunction with the print() method.
BOOLEAN METHODS
exists(val) - Returns 1 if val exists within the array, 0 otherwise. If no value (or undef) is passed, then this method will test for the existence of undefined values within the array.
is_empty() - Returns 1 if the array is empty, 0 otherwise. Empty is defined as having a length of 0.
STANDARD METHODS
at(index) - Returns the item at the given index (or undef). A negative index may be used to count from the end of the array. If no value (or undef) is specified, it will look for the first item that is not defined.
clear() - Empties the array (i.e. length becomes 0). You may pass a 1 to this method to set each element of the array to undef rather than truly empty it.
compact() - Removes undefined elements from the array.
count(?val?) - Returns the number of instances of val within the array. If val is not specified (or is undef), the method will return the number of undefined values within the array.
delete(list) - Deletes all items within list from the array that match. This method will crash if list is not defined. If your goal is to delete undefined values from your object, use the compact() method instead.
delete_at(index, ?index?) - Deletes the item at the specified index. If a second index is specified, a range of items is deleted. You may use -1 or the string end to refer to the last element of the array.
duplicates - Returns a list of N-1 elements for each element N in the set. For example, if you have set "X X Y Y Y", this method would return a the list "X Y Y".
fill(val,?start?,?length?) - Sets the selected elements of the array (which may be the entire array) to val. The default value for start is 0. If length is not specified the entire array, however long it may be at the time of the call, will be filled. Alternatively, a quoted integer range may be used.
e.g. $sao->fill(x,3-5);
The array length/size may not be expanded with this call - it is only meant to fill in already-existing elements.
first() - Returns the first element of the array (or undef).
flatten() - Causes a one-dimensional flattening of the array, recursively. That is, for every element that is an array (or hash, or a ref to either an array or hash), extract its elements into the array.
e.g. my $sa = Set::Array->new([1,3,2],{one=>a,two=>b},x,y,z);
$sao->flatten->join(,)->print; # prints "1,3,2,one,a,two,b,x,y,z"
foreach(sub ref) - Iterates over an array, executing the subroutine for each element in the array. If you wish to modify or otherwise act directly on the contents of the array, use $_ within your sub reference.
e.g. To increment all elements in the array by one...
$sao->foreach(sub{ ++$_ });
get - Alias for the indices() method.
index(val) - Returns the index of the first element of the array object that contains val. Returns undef if no value is found.
Note that there is no dereferencing here so if youre looking for an item nested within a ref, use the flatten method first.
indices(val1,?val2?, ?val...?) - Returns an array consisting of the elements at the specified indices or undef if the element is out of range.
A range may also be used. It must be a quoted string in 0..3 format.
join(?char?) - Joins the individual elements of the list into a single string with the elements separated by the value of char. Useful in conjunction with the print() method. If no character is specified, then char defaults to a comma.
e.g. $sao->join(-)->print;
last() - Returns the last element of the array (or undef).
length() - Returns the number of elements within the array.
max() - Returns the maximum value of an array. No effort is made to check for non-numeric data.
pack(template) - Packs the contents of the array into a string (in scalar context) or a single array element (in object or void context).
pop() - Removes the last element from the array. Returns the popped element.
print(?1?) - Prints the contents of the array. If a 1 is provided as an argument, the output will automatically be terminated with a newline.
This also doubles as a contents method, if you just want to make a copy of the array, e.g. my @copy = $sao->print;
Can be called in void or list context, e.g.
$sao->print(); # or... print "Contents of array are: ", $sao->print();
push(list) - Adds list to the end of the array, where list is either a scalar value or a list. Returns an array or array reference in list or scalar context, respectively. Note that it does not return the length in scalar context. Use the length method for that.
reverse() - Reverses the order of the contents of the array.
rindex(val) - Similar to the index() method, except that it returns the index of the last val found within the array.
set(index,value) - Sets the element at index to value, replacing whatever may have already been there.
shift() - Shifts the first element of the array and returns the shifted element.
sort(?coderef?) - Sorts the contents of the array in alphabetical order, or in the order specified by the optional coderef. Use your standard $a and $b variables within your calling program, e.g:
my $sao = Set::Array->new( { name => Berger, salary => 20000 }, { name => Berger, salary => 15000 }, { name => Vera, salary => 25000 }, );
my $subref = sub{ $b->{name} cmp $a->{name} || $b->{salary} $a->{salary} };
$sao14->sort($subref)->flatten->join->print(1);
splice(?offset?,?length?,?list?) - Splice the array starting at position offset up to length elements, and replace them with list. If no list is provided, all elements are deleted. If length is omitted, everything from offset onward is removed.
Returns an array or array ref in list or scalar context, respectively. This method always modifies the object, regardless of context. If your goal was to grab a range of values without modifying the object, use the indices method instead.
unique() - Removes/returns non-unique elements from the list.
unshift(list) - Prepends a scalar or list to array. Note that this method returns an array or array reference in list or scalar context, respectively. It does not return the length of the array in scalar context. Use the length method for that.
ODDBALL METHODS
as_hash() - Returns a hash based on the current array, with each even numbered element (including 0) serving as the key, and each odd element serving as the value. This can be switched by using the key_order option and setting it to odd, in which case the even values serve as the values, and the odd elements serve as the keys. The default is even.
Of course, if you dont care about insertion order, you could just as well do something like, $sao-reverse->as_hash;>
Carp::croaks if the array contains an odd number of elements. This method does not actually modify the object itself in any way. It just returns a plain hash in list context or a hash reference in scalar context. The reference is not blessed, therefore if this method is called as part of a chain, it must be the last method called.
impose(?append/prepend?,string) - Appends or prepends the specified string to each element in the array. Specify the method by using either the keyword append or prepend. The default is append.
randomize() - Randomizes the order of the elements within the array.
rotate(direction) - Moves the last item of the list to the front and shifts all other elements one to the right, or vice-versa, depending on what you pass as the direction - ftol (first to last) or ltof (last to first). The default is ltof.
e.g. my $sao = Set::Array->new(1,2,3);
$sao->rotate(); # order is now 3,1,2
$sao->rotate(ftol); # order is back to 1,2,3
<<lessSYNOPSIS
my $sao1 = Set::Array->new(1,2,4,"hello",undef);
my $sao2 = Set::Array->new(qw(a b c a b c));
print $sao1->length; # prints 5
$sao2->unique->length->print; # prints 3
Set::Array allows you to create arrays as objects and use OO-style methods on them. Many convenient methods are provided here that appear in the FAQs, the Perl Cookbook or posts from comp.lang.perl.misc. In addition, there are Set methods with corresponding (overloaded) operators for the purpose of Set comparison, i.e. +, ==, etc.
The purpose is to provide built-in methods for operations that people are always asking how to do, and which already exist in languages like Ruby. This should (hopefully) improve code readability and/or maintainability. The other advantage to this module is method-chaining by which any number of methods may be called on a single object in a single statement.
OBJECT BEHAVIOR
The exact behavior of the methods depends largely on the calling context.
Here are the rules:
* If a method is called in void context, the object itself is modified.
* If the method called is not the last method in a chain (i.e. its called in object context), the object itself is modified by that method regardless of the final context or method call.
* If a method is called in list or scalar context, a list or list refererence is returned, respectively. The object itself is NOT modified.
Heres a quick example:
my $sao = Set::Array->new(1,2,3,2,3);
my @uniq = $sao->unique(); # Object unmodified. @uniq contains 3 values.
$sao->unique(); # Object modified, now contains 3 values
Here are the exceptions:
* Methods that report a value, such as boolean methods like exists() or other methods such as at() or as_hash(), never modify the object.
* The methods clear(), delete(), delete_at(), and splice will always modify the object. It seemed much too counterintuitive to call these methods in any context without actually deleting/clearing/substituting the items!
* The methods shift() and pop() will modify the object AND return the value that was shifted or popped from the array. Again, it seemed much too counterintuitive for something like $val = $sao->shift to return a value while leaving the objects list unchanged. If you really want the first or last value without modifying the object, you can always use the first() or last() method, respectively.
* The join() method always returns a string and is really meant for use in conjunction with the print() method.
BOOLEAN METHODS
exists(val) - Returns 1 if val exists within the array, 0 otherwise. If no value (or undef) is passed, then this method will test for the existence of undefined values within the array.
is_empty() - Returns 1 if the array is empty, 0 otherwise. Empty is defined as having a length of 0.
STANDARD METHODS
at(index) - Returns the item at the given index (or undef). A negative index may be used to count from the end of the array. If no value (or undef) is specified, it will look for the first item that is not defined.
clear() - Empties the array (i.e. length becomes 0). You may pass a 1 to this method to set each element of the array to undef rather than truly empty it.
compact() - Removes undefined elements from the array.
count(?val?) - Returns the number of instances of val within the array. If val is not specified (or is undef), the method will return the number of undefined values within the array.
delete(list) - Deletes all items within list from the array that match. This method will crash if list is not defined. If your goal is to delete undefined values from your object, use the compact() method instead.
delete_at(index, ?index?) - Deletes the item at the specified index. If a second index is specified, a range of items is deleted. You may use -1 or the string end to refer to the last element of the array.
duplicates - Returns a list of N-1 elements for each element N in the set. For example, if you have set "X X Y Y Y", this method would return a the list "X Y Y".
fill(val,?start?,?length?) - Sets the selected elements of the array (which may be the entire array) to val. The default value for start is 0. If length is not specified the entire array, however long it may be at the time of the call, will be filled. Alternatively, a quoted integer range may be used.
e.g. $sao->fill(x,3-5);
The array length/size may not be expanded with this call - it is only meant to fill in already-existing elements.
first() - Returns the first element of the array (or undef).
flatten() - Causes a one-dimensional flattening of the array, recursively. That is, for every element that is an array (or hash, or a ref to either an array or hash), extract its elements into the array.
e.g. my $sa = Set::Array->new([1,3,2],{one=>a,two=>b},x,y,z);
$sao->flatten->join(,)->print; # prints "1,3,2,one,a,two,b,x,y,z"
foreach(sub ref) - Iterates over an array, executing the subroutine for each element in the array. If you wish to modify or otherwise act directly on the contents of the array, use $_ within your sub reference.
e.g. To increment all elements in the array by one...
$sao->foreach(sub{ ++$_ });
get - Alias for the indices() method.
index(val) - Returns the index of the first element of the array object that contains val. Returns undef if no value is found.
Note that there is no dereferencing here so if youre looking for an item nested within a ref, use the flatten method first.
indices(val1,?val2?, ?val...?) - Returns an array consisting of the elements at the specified indices or undef if the element is out of range.
A range may also be used. It must be a quoted string in 0..3 format.
join(?char?) - Joins the individual elements of the list into a single string with the elements separated by the value of char. Useful in conjunction with the print() method. If no character is specified, then char defaults to a comma.
e.g. $sao->join(-)->print;
last() - Returns the last element of the array (or undef).
length() - Returns the number of elements within the array.
max() - Returns the maximum value of an array. No effort is made to check for non-numeric data.
pack(template) - Packs the contents of the array into a string (in scalar context) or a single array element (in object or void context).
pop() - Removes the last element from the array. Returns the popped element.
print(?1?) - Prints the contents of the array. If a 1 is provided as an argument, the output will automatically be terminated with a newline.
This also doubles as a contents method, if you just want to make a copy of the array, e.g. my @copy = $sao->print;
Can be called in void or list context, e.g.
$sao->print(); # or... print "Contents of array are: ", $sao->print();
push(list) - Adds list to the end of the array, where list is either a scalar value or a list. Returns an array or array reference in list or scalar context, respectively. Note that it does not return the length in scalar context. Use the length method for that.
reverse() - Reverses the order of the contents of the array.
rindex(val) - Similar to the index() method, except that it returns the index of the last val found within the array.
set(index,value) - Sets the element at index to value, replacing whatever may have already been there.
shift() - Shifts the first element of the array and returns the shifted element.
sort(?coderef?) - Sorts the contents of the array in alphabetical order, or in the order specified by the optional coderef. Use your standard $a and $b variables within your calling program, e.g:
my $sao = Set::Array->new( { name => Berger, salary => 20000 }, { name => Berger, salary => 15000 }, { name => Vera, salary => 25000 }, );
my $subref = sub{ $b->{name} cmp $a->{name} || $b->{salary} $a->{salary} };
$sao14->sort($subref)->flatten->join->print(1);
splice(?offset?,?length?,?list?) - Splice the array starting at position offset up to length elements, and replace them with list. If no list is provided, all elements are deleted. If length is omitted, everything from offset onward is removed.
Returns an array or array ref in list or scalar context, respectively. This method always modifies the object, regardless of context. If your goal was to grab a range of values without modifying the object, use the indices method instead.
unique() - Removes/returns non-unique elements from the list.
unshift(list) - Prepends a scalar or list to array. Note that this method returns an array or array reference in list or scalar context, respectively. It does not return the length of the array in scalar context. Use the length method for that.
ODDBALL METHODS
as_hash() - Returns a hash based on the current array, with each even numbered element (including 0) serving as the key, and each odd element serving as the value. This can be switched by using the key_order option and setting it to odd, in which case the even values serve as the values, and the odd elements serve as the keys. The default is even.
Of course, if you dont care about insertion order, you could just as well do something like, $sao-reverse->as_hash;>
Carp::croaks if the array contains an odd number of elements. This method does not actually modify the object itself in any way. It just returns a plain hash in list context or a hash reference in scalar context. The reference is not blessed, therefore if this method is called as part of a chain, it must be the last method called.
impose(?append/prepend?,string) - Appends or prepends the specified string to each element in the array. Specify the method by using either the keyword append or prepend. The default is append.
randomize() - Randomizes the order of the elements within the array.
rotate(direction) - Moves the last item of the list to the front and shifts all other elements one to the right, or vice-versa, depending on what you pass as the direction - ftol (first to last) or ltof (last to first). The default is ltof.
e.g. my $sao = Set::Array->new(1,2,3);
$sao->rotate(); # order is now 3,1,2
$sao->rotate(ftol); # order is back to 1,2,3
Download (0.023MB)
Added: 2007-07-23 License: Perl Artistic License Price:
823 downloads
GameQ 1.2 Alpha 2
GameQ project is a PHP game server query class. more>>
GameQ project is a PHP game server query class.
GameQ is a PHP class for querying game servers (not master servers). It currently supports over 50 game types.
Features include player listing and sorting, easily expandable, modular design, error handling, and multiple string sending.
Enhancements:
- This release adds support for Alien Arena, Armed Assault, Battlefield 2142, Cross Racing Championship, Dark Messiah, Hexen 2, KISS Psycho Circus, Neverwinter Nights 2, Rag Doll Kung Fu, Red Orchestra, Savage, silverback engine, Stalker, Tremulous, Tribes (partial), and Tribes 2 (partial).
- It updates the main class to support query-response over the same socket, adds a filter example, and fixes Gamespy and Doom 3 player bugs.
<<lessGameQ is a PHP class for querying game servers (not master servers). It currently supports over 50 game types.
Features include player listing and sorting, easily expandable, modular design, error handling, and multiple string sending.
Enhancements:
- This release adds support for Alien Arena, Armed Assault, Battlefield 2142, Cross Racing Championship, Dark Messiah, Hexen 2, KISS Psycho Circus, Neverwinter Nights 2, Rag Doll Kung Fu, Red Orchestra, Savage, silverback engine, Stalker, Tremulous, Tribes (partial), and Tribes 2 (partial).
- It updates the main class to support query-response over the same socket, adds a filter example, and fixes Gamespy and Doom 3 player bugs.
Download (0.044MB)
Added: 2007-07-31 License: GPL v3 Price:
819 downloads

SuperGamer Supreme
SuperGamer Supreme gives you interesting games created for Linux desktop operating system. more>>
SuperGamer Supreme gives you interesting games created for Linux desktop operating system. It has all the normal Linux desktop applications such as the Firefox Browser, OpenOffice.org, etc., but also has a great many native to Linux games added, as well as some demos of proprietary games.
The games (in the order they appear on the launch bar) Include:
- Quake Wars
- Doom 3
- Prey
- Unreal Tournament
- Quake 4
- Savage 2
- Postal 2
- Enemy Territory
- Penumbra Black Plague
- Sauerbraten
- Urban Terror
- Soldier Of Fortune
- Torcs
- Tremulous
- AlienArena
- True Combat
- America's Army
- Nexus
- OpenArena
- PlaneShift
- Drop Team
- Frets On Fire
- Chromium B.S.U.
- Mad Bomber
- X-Moto
- BZ Flag
- Mega Mario
- Glaxium
- GL-117
- NeverBall
- NeverPutt
- Super Tux
- PPRacer
Major Features:
- This Supreme SuperGamer version will work on both 32 and 64 bit PCs and fills a full Live Dual Layer DVD.
- It includes support for ethernet, wireless, and dialup Internet connections.
- It can run in "Live" mode directly from the DVD and can be optionally installed to your hard drive.
- A few key includes are 2.6.27.24 kernel, Azureus, Gparted, Limewire, Gimp, K9copy, KOffice, OpenOffice 3, Hardinfo (system profiler and benchmark) along with all the plugins for firefox with forcastbar enhanced, adblock, and blockxxx included (blockxxx is a child word and website filter which is not enabled by default as it blocks alot of stuff...almost to much).
Added: 2009-07-25 License: GPL Price: FREE
1 downloads
CGI::Explorer 2.07
CGI::Explorer is a class to manage displaying a hash tree of data, for use in CGI scripts. more>>
CGI::Explorer is a class to manage displaying a hash tree of data, for use in CGI scripts.
Synopsis
Install /assets/css/explorer/xtree.css, /assets/js/explorer/xtree.js, and /assets/images/explorer/*, as per the installation instructions, below.
Then run the demos example/bootstrap-hobbit.pl, which creates a database table using DBIx::Hash2Table, and then example/hobbit.cgi, which reads a database table using DBIx::Table2Hash.
Or, more simply, run example/hobbit-hash.cgi which has the same hash directly in the source code.
CGI::Explorer is a pure Perl module.
It is a support module for CGI scripts. It manages a hash, a tree of data, so that the script can display the tree, and the user can single-click on the [+] or [-] of a node, or double-click on the icon of a node, to open or close that nodes sub-tree.
Opening a node reveals all children of that node, and restores their open/closed state.
Closing a node hides all children of that node.
When you click on the text of a node, the nodes id is submitted to the CGI script via the path info of the URL attached to that node. This path info mechanism can be overridden.
The id is assigned to the node when you call the method hash2tree(), which is where the module converts your hash into JavaScript.
Neither the module CGI.pm, nor any of that kidney, are used by this module.
<<lessSynopsis
Install /assets/css/explorer/xtree.css, /assets/js/explorer/xtree.js, and /assets/images/explorer/*, as per the installation instructions, below.
Then run the demos example/bootstrap-hobbit.pl, which creates a database table using DBIx::Hash2Table, and then example/hobbit.cgi, which reads a database table using DBIx::Table2Hash.
Or, more simply, run example/hobbit-hash.cgi which has the same hash directly in the source code.
CGI::Explorer is a pure Perl module.
It is a support module for CGI scripts. It manages a hash, a tree of data, so that the script can display the tree, and the user can single-click on the [+] or [-] of a node, or double-click on the icon of a node, to open or close that nodes sub-tree.
Opening a node reveals all children of that node, and restores their open/closed state.
Closing a node hides all children of that node.
When you click on the text of a node, the nodes id is submitted to the CGI script via the path info of the URL attached to that node. This path info mechanism can be overridden.
The id is assigned to the node when you call the method hash2tree(), which is where the module converts your hash into JavaScript.
Neither the module CGI.pm, nor any of that kidney, are used by this module.
Download (0.031MB)
Added: 2006-10-07 License: Perl Artistic License Price:
1112 downloads
Getopt::Simple 1.48
Getopt::Simple is a Perl module that provides a simple wrapper around Getopt::Long. more>>
Getopt::Simple is a Perl module that provides a simple wrapper around Getopt::Long.
SYNOPSIS
use Getopt::Simple;
# Or ...
# use Getopt::Simple qw($switch);
my($options) =
{
help =>
{
type => ,
env => -,
default => ,
# verbose => , # Not needed on every key.
order => 1,
},
username =>
{
type => =s, # As per Getopt::Long.
env => $USER, # Help text.
default => $ENV{USER} || RonSavage, # In case $USER is undef.
verbose => Specify the username on the remote machine,
order => 3, # Help text sort order.
},
password =>
{
type => =s,
env => -,
default => password,
verbose => Specify the password on the remote machine,
order => 4,
},
};
my($option) = Getopt::Simple -> new();
if (! $option -> getOptions($options, "Usage: testSimple.pl [options]") )
{
exit(-1); # Failure.
}
print "username: $$option{switch}{username}. n";
print "password: $$option{switch}{password}. n";
# Or, after use Getopt::Simple qw($switch); ...
# print "username: $$switch{username}. n";
# print "password: $$switch{password}. n";
Getopt::Simple is a pure Perl module.
The Getopt::Simple module provides a simple way of specifying:
Command line switches
Type information for switch values
Default values for the switches
Help text per switch
<<lessSYNOPSIS
use Getopt::Simple;
# Or ...
# use Getopt::Simple qw($switch);
my($options) =
{
help =>
{
type => ,
env => -,
default => ,
# verbose => , # Not needed on every key.
order => 1,
},
username =>
{
type => =s, # As per Getopt::Long.
env => $USER, # Help text.
default => $ENV{USER} || RonSavage, # In case $USER is undef.
verbose => Specify the username on the remote machine,
order => 3, # Help text sort order.
},
password =>
{
type => =s,
env => -,
default => password,
verbose => Specify the password on the remote machine,
order => 4,
},
};
my($option) = Getopt::Simple -> new();
if (! $option -> getOptions($options, "Usage: testSimple.pl [options]") )
{
exit(-1); # Failure.
}
print "username: $$option{switch}{username}. n";
print "password: $$option{switch}{password}. n";
# Or, after use Getopt::Simple qw($switch); ...
# print "username: $$switch{username}. n";
# print "password: $$switch{password}. n";
Getopt::Simple is a pure Perl module.
The Getopt::Simple module provides a simple way of specifying:
Command line switches
Type information for switch values
Default values for the switches
Help text per switch
Download (0.008MB)
Added: 2006-11-03 License: Perl Artistic License Price:
1085 downloads
X500::DN::Parser 1.17
X500::DN::Parser is a Perl module that can parse X500 Distinguished Names. more>>
X500::DN::Parser is a Perl module that can parse X500 Distinguished Names.
SYNOPSIS
use X500::DN::Parser;
my($parser) = new X500::DN::Parser(&errorInDN);
my($dn, $genericDN, %RDN) =
$parser -> parse(c=au;o=MagicWare;cn=Ron Savage,
c, [l], o, [ou], cn);
Parse DNs where the caller knows the number of RDNs.
parse() ^
Input Parameters:
DN to be parsed
A list of the expected components of the DN. Any component can be put in [] to indicate that that component is optional
Output List:
$dn: The DN passed in
$genericDN: A generic DN matching the given DN
%component: The components of the DN and their values. Eg:
If $dn = c=au;o=MagicWare, then these key/values appear:
c => au,
o => MagicWare
<<lessSYNOPSIS
use X500::DN::Parser;
my($parser) = new X500::DN::Parser(&errorInDN);
my($dn, $genericDN, %RDN) =
$parser -> parse(c=au;o=MagicWare;cn=Ron Savage,
c, [l], o, [ou], cn);
Parse DNs where the caller knows the number of RDNs.
parse() ^
Input Parameters:
DN to be parsed
A list of the expected components of the DN. Any component can be put in [] to indicate that that component is optional
Output List:
$dn: The DN passed in
$genericDN: A generic DN matching the given DN
%component: The components of the DN and their values. Eg:
If $dn = c=au;o=MagicWare, then these key/values appear:
c => au,
o => MagicWare
Download (0.007MB)
Added: 2007-05-22 License: Perl Artistic License Price:
886 downloads
pu6e 0.6
pu6e project is an Ultima 6 world editor. more>>
pu6e project is an Ultima 6 world editor.
pu6e is an editor for Ultima 6 and the Worlds of Ultima games (Martian Dreams, Savage Empire). It lets you manipulate many aspects of the game world and play the results with the original games.
Its written in Python and uses wxWindows and OpenGL. pu6e is tested on Linux and Windows 2000, and requires a 3D card.
Main features:
- Create, modify, and delete objects
- Manipulate containers, via a tree view
- Edit terrain and map chunks
- View all map and object tiles
- View tile and palette animation
- View and move NPCs
- View book contents
- Save map, object and NPC data
- Play your new worlds with the Ultima 6 family!
<<lesspu6e is an editor for Ultima 6 and the Worlds of Ultima games (Martian Dreams, Savage Empire). It lets you manipulate many aspects of the game world and play the results with the original games.
Its written in Python and uses wxWindows and OpenGL. pu6e is tested on Linux and Windows 2000, and requires a 3D card.
Main features:
- Create, modify, and delete objects
- Manipulate containers, via a tree view
- Edit terrain and map chunks
- View all map and object tiles
- View tile and palette animation
- View and move NPCs
- View book contents
- Save map, object and NPC data
- Play your new worlds with the Ultima 6 family!
Download (0.082MB)
Added: 2007-01-08 License: GPL (GNU General Public License) Price:
1019 downloads
Pioneer Linux 2.1
Pioneer Linux is a desktop-oriented, Kubuntu-based distribution targeted at new as well as experienced Linux users. more>>
Pioneer Linux is a desktop-oriented, Kubuntu-based distribution targeted at new as well as experienced Linux users. The product comes in two flavours: as a freely downloadable live and installation CD, and as a commercial boxed edition with CrossOver Office and technical support.
Test and try before you install Thats right, you can test Pioneer Linux running off the CD before you decide to perform an installation. This means that you can actually run your operating system and learn it before you install or make that critical decision to leave your previous operating system installation. ASPEN for older computers is not a live CD.
Burn CDs Yes take a look at our screenshots and youll see weve included a utility named K3b so you can burn your CDs or DVDs! K3b is a simple yet powerful tool thats simple to use
Browse the Internet safely Yes its safe! You can browse the Internet safely when you use Pioneer Linux. Its not the same anymore with people dropping viruses or keystroke loggers because of that old unsafe browser youve been using for years! Go wild and have fun!
Listen to music You can listen to your favorite music while working using the CD Player included or make cuts and create your own CD from your music! You decide, the tools are included!
Word processing and more! Yes thats right! Your Pioneer Linux operating system comes with OpenOffice.org that allows you to exchange documents with Word users. You even have the opportunity to run spreadsheets and create professional presentations. More? yes a database application is new with OpenOffice.org 2.0
Play some games Weve packed Pioneer with loads of games to help you kill some time. Want more than those included? Check the knowledge base for more games that can be run like Savage or Civilization.
Utilities Weve included some of the best utilities to manage your operating system today. These utilities come with even our basic ASPEN application so you can manage your system day-to-day!
Enhancements:
- Technalign, Inc. has released Pioneer Basic 2.1 of its base Linux operating system. Pioneer Basic 2.1 is being released on DVD. Technalign will continue to ship Pioneer Basic 2.0 for those users who do not wish to purchase a DVD drive for their systems. Pioneer Basic 2.1 is similar to Basic 2.0 with several exceptions. The biggest exception is that Pioneer 2.1 is based on Feisty and not Edgy while it continues to be based on Kubuntu. Adept is no longer incorporated as the update manager, but is now replaced with Synaptic per the business and consumer communities. Also notable are the Guarddog Firewall as well as the KlamAV anti-virus utilities that have been added and OpenOffice.org 2.2.
<<lessTest and try before you install Thats right, you can test Pioneer Linux running off the CD before you decide to perform an installation. This means that you can actually run your operating system and learn it before you install or make that critical decision to leave your previous operating system installation. ASPEN for older computers is not a live CD.
Burn CDs Yes take a look at our screenshots and youll see weve included a utility named K3b so you can burn your CDs or DVDs! K3b is a simple yet powerful tool thats simple to use
Browse the Internet safely Yes its safe! You can browse the Internet safely when you use Pioneer Linux. Its not the same anymore with people dropping viruses or keystroke loggers because of that old unsafe browser youve been using for years! Go wild and have fun!
Listen to music You can listen to your favorite music while working using the CD Player included or make cuts and create your own CD from your music! You decide, the tools are included!
Word processing and more! Yes thats right! Your Pioneer Linux operating system comes with OpenOffice.org that allows you to exchange documents with Word users. You even have the opportunity to run spreadsheets and create professional presentations. More? yes a database application is new with OpenOffice.org 2.0
Play some games Weve packed Pioneer with loads of games to help you kill some time. Want more than those included? Check the knowledge base for more games that can be run like Savage or Civilization.
Utilities Weve included some of the best utilities to manage your operating system today. These utilities come with even our basic ASPEN application so you can manage your system day-to-day!
Enhancements:
- Technalign, Inc. has released Pioneer Basic 2.1 of its base Linux operating system. Pioneer Basic 2.1 is being released on DVD. Technalign will continue to ship Pioneer Basic 2.0 for those users who do not wish to purchase a DVD drive for their systems. Pioneer Basic 2.1 is similar to Basic 2.0 with several exceptions. The biggest exception is that Pioneer 2.1 is based on Feisty and not Edgy while it continues to be based on Kubuntu. Adept is no longer incorporated as the update manager, but is now replaced with Synaptic per the business and consumer communities. Also notable are the Guarddog Firewall as well as the KlamAV anti-virus utilities that have been added and OpenOffice.org 2.2.
Download (848MB)
Added: 2007-05-24 License: GPL (GNU General Public License) Price:
890 downloads
DBIx::HTML::ClientDB 1.05
DBIx::HTML::ClientDB is a Perl module to convert sql into a client-side db with keyed access. more>>
DBIx::HTML::ClientDB is a Perl module to convert sql into a client-side db with keyed access.
Synopsis
use DBIx::HTML::ClientDB;
my($object) = DBIx::HTML::ClientDB -> new
(
dbh => $dbh,
row_headings => Unit code,Unit code,Campus name,Unit name,
sql => select unit_code, unit_code, campus_name, unit_name .
from unit, campus where unit_campus_id = campus_id .
order by unit_code,
);
print $object -> javascript_for_client_db();
print $object -> table();
print $object -> javascript_for_client_init();
This module takes a db handle, an SQL statement and a specially-formatted row_headings parameter, and builds an array of rows as returned by the SQL.
Then you ask for that array in HTML, ie as a table.
After a call to the table() method, you can call the size() method if you need to check how many rows were returned by the SQL you used.
Neither the module CGI.pm, nor any of that kidney, are used by this module. We simply output pure HTML.
However, for simplicity, this document pretends you are using CGI.pm rather than an alternative. The sentences would become too convoluted otherwise.
The output table is formatted as N rows of 2 columns:
First column
The first column contains the row headings you supply in the row_headings parameter. row_headings is a comma-separated list of strings you want to appear in the first column of the table.
There must be one string in row_headings for each column mentioned in the SQL.
Second column
The second column contains the current record in the database.
Now for the rows:
First row
The first row contains the first prompt string in the first column.
The first row contains a HTML popup menu in the second column.
This menu is what you use to choose the current record in the database.
Since two (2) SQL columns are used to build this menu, two (2) strings from the row_headings parameter are consumed building the first row. The first of these 2 strings appears in the first column, as explained above. The second of these 2 strings is, much to your amazement, discarded!
This way of doing things makes it easy for you to count row_heading strings and their corresponding SQL columns, and makes it easy for me to cross-check your ability to count to 2.
Other rows
Each other row contains a field in the current record. The value in the first column comes from the row_headings parameter, and the value in the second column comes from the database.
The sum result is menu-driven access to the data returned by the SQL. All this is downloaded from your CGI script to the web client. Since changing the current menu item updates the other fields in this table using JavaScript, no message is sent to the web server, and hence you have maximum speed of access.
The whole point of the exercise is to give you simple code for simple access to simple data.
See examples/test-clientdb.cgi for an example which will make all this clear.
<<lessSynopsis
use DBIx::HTML::ClientDB;
my($object) = DBIx::HTML::ClientDB -> new
(
dbh => $dbh,
row_headings => Unit code,Unit code,Campus name,Unit name,
sql => select unit_code, unit_code, campus_name, unit_name .
from unit, campus where unit_campus_id = campus_id .
order by unit_code,
);
print $object -> javascript_for_client_db();
print $object -> table();
print $object -> javascript_for_client_init();
This module takes a db handle, an SQL statement and a specially-formatted row_headings parameter, and builds an array of rows as returned by the SQL.
Then you ask for that array in HTML, ie as a table.
After a call to the table() method, you can call the size() method if you need to check how many rows were returned by the SQL you used.
Neither the module CGI.pm, nor any of that kidney, are used by this module. We simply output pure HTML.
However, for simplicity, this document pretends you are using CGI.pm rather than an alternative. The sentences would become too convoluted otherwise.
The output table is formatted as N rows of 2 columns:
First column
The first column contains the row headings you supply in the row_headings parameter. row_headings is a comma-separated list of strings you want to appear in the first column of the table.
There must be one string in row_headings for each column mentioned in the SQL.
Second column
The second column contains the current record in the database.
Now for the rows:
First row
The first row contains the first prompt string in the first column.
The first row contains a HTML popup menu in the second column.
This menu is what you use to choose the current record in the database.
Since two (2) SQL columns are used to build this menu, two (2) strings from the row_headings parameter are consumed building the first row. The first of these 2 strings appears in the first column, as explained above. The second of these 2 strings is, much to your amazement, discarded!
This way of doing things makes it easy for you to count row_heading strings and their corresponding SQL columns, and makes it easy for me to cross-check your ability to count to 2.
Other rows
Each other row contains a field in the current record. The value in the first column comes from the row_headings parameter, and the value in the second column comes from the database.
The sum result is menu-driven access to the data returned by the SQL. All this is downloaded from your CGI script to the web client. Since changing the current menu item updates the other fields in this table using JavaScript, no message is sent to the web server, and hence you have maximum speed of access.
The whole point of the exercise is to give you simple code for simple access to simple data.
See examples/test-clientdb.cgi for an example which will make all this clear.
Download (0.011MB)
Added: 2006-09-26 License: Perl Artistic License Price:
1123 downloads
Pioneer Linux Christian Edition Beta 1
Pioneer Linux is a desktop-oriented, Kubuntu-based distribution targeted at new as well as experienced Linux users. more>>
Pioneer Linux is a desktop-oriented, Kubuntu-based distribution targeted at new as well as experienced Linux users. The product comes in two flavours: as a freely downloadable live and installation CD, and as a commercial boxed edition with CrossOver Office and technical support.
Test and try before you install Thats right, you can test Pioneer Linux running off the CD before you decide to perform an installation. This means that you can actually run your operating system and learn it before you install or make that critical decision to leave your previous operating system installation. ASPEN for older computers is not a live CD.
Burn CDs Yes take a look at our screenshots and youll see weve included a utility named K3b so you can burn your CDs or DVDs! K3b is a simple yet powerful tool thats simple to use
Browse the Internet safely Yes its safe! You can browse the Internet safely when you use Pioneer Linux. Its not the same anymore with people dropping viruses or keystroke loggers because of that old unsafe browser youve been using for years! Go wild and have fun!
Listen to music You can listen to your favorite music while working using the CD Player included or make cuts and create your own CD from your music! You decide, the tools are included!
Word processing and more! Yes thats right! Your Pioneer Linux operating system comes with OpenOffice.org that allows you to exchange documents with Word users. You even have the opportunity to run spreadsheets and create professional presentations. More? yes a database application is new with OpenOffice.org 2.0
Play some games Weve packed Pioneer with loads of games to help you kill some time. Want more than those included? Check the knowledge base for more games that can be run like Savage or Civilization.
Utilities Weve included some of the best utilities to manage your operating system today. These utilities come with even our basic ASPEN application so you can manage your system day-to-day!
Enhancements:
- Technalign, Inc. has announced it has released its Beta 1 Pioneer Linux Christian Edition operating system to the community. The beta includes many of the features that come standard with Pioneer Linux. The application includes the King James Bible and many study applications. The Pioneer Christian Edition replaces the Frontier Christian Edition previously retailed by Technaligns partners. There will be a non-installable edition available for Windows users who only want to use the Christian Edition for study. Technalign requests that users report back any applications they would like added as well as applications that they wish removed along with bug reports.
<<lessTest and try before you install Thats right, you can test Pioneer Linux running off the CD before you decide to perform an installation. This means that you can actually run your operating system and learn it before you install or make that critical decision to leave your previous operating system installation. ASPEN for older computers is not a live CD.
Burn CDs Yes take a look at our screenshots and youll see weve included a utility named K3b so you can burn your CDs or DVDs! K3b is a simple yet powerful tool thats simple to use
Browse the Internet safely Yes its safe! You can browse the Internet safely when you use Pioneer Linux. Its not the same anymore with people dropping viruses or keystroke loggers because of that old unsafe browser youve been using for years! Go wild and have fun!
Listen to music You can listen to your favorite music while working using the CD Player included or make cuts and create your own CD from your music! You decide, the tools are included!
Word processing and more! Yes thats right! Your Pioneer Linux operating system comes with OpenOffice.org that allows you to exchange documents with Word users. You even have the opportunity to run spreadsheets and create professional presentations. More? yes a database application is new with OpenOffice.org 2.0
Play some games Weve packed Pioneer with loads of games to help you kill some time. Want more than those included? Check the knowledge base for more games that can be run like Savage or Civilization.
Utilities Weve included some of the best utilities to manage your operating system today. These utilities come with even our basic ASPEN application so you can manage your system day-to-day!
Enhancements:
- Technalign, Inc. has announced it has released its Beta 1 Pioneer Linux Christian Edition operating system to the community. The beta includes many of the features that come standard with Pioneer Linux. The application includes the King James Bible and many study applications. The Pioneer Christian Edition replaces the Frontier Christian Edition previously retailed by Technaligns partners. There will be a non-installable edition available for Windows users who only want to use the Christian Edition for study. Technalign requests that users report back any applications they would like added as well as applications that they wish removed along with bug reports.
Download (676MB)
Added: 2007-01-04 License: GPL (GNU General Public License) Price:
602 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 1
- 1
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above savage search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed