intermediate value theorem
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2360
Keyword Market Value Analyzer 1.1
Keyword Market Value Analyzer allows you to compile a database a keywords based on a particular keyword subject. more>>
Keyword Market Value Analyzer allows you to compile a database a keywords based on a particular keyword subject, and to compare their popularity with the highest amount advertisers are willing to pay to advertise for the keyword.
The result of Keyword Market Value Analyzer is a really good idea about how much money-making potential there is for the keyword.
Main features:
- Keyword Market Value Analyzer is easy to install. Just unzip, install the database tables and upload.
- Create different keyword subject groups. The groups share the same keyword data, so you can leverage the research youve done for one keyword group for another, related keyword group.
- Easily browse keywords based on market value, highest bid, or most popular.
- Makes keyword market value research as easy as it can be!
<<lessThe result of Keyword Market Value Analyzer is a really good idea about how much money-making potential there is for the keyword.
Main features:
- Keyword Market Value Analyzer is easy to install. Just unzip, install the database tables and upload.
- Create different keyword subject groups. The groups share the same keyword data, so you can leverage the research youve done for one keyword group for another, related keyword group.
- Easily browse keywords based on market value, highest bid, or most popular.
- Makes keyword market value research as easy as it can be!
Download (0.10MB)
Added: 2006-02-28 License: Freeware Price:
1335 downloads
Servlet::ServletOutputStream 0.9.2
Servlet::ServletOutputStream is a servlet output stream interface. more>>
Servlet::ServletOutputStream is a servlet output stream interface.
SYNOPSIS
$stream->print($string);
$stream->println();
$stream->println($string);
$stream->write($string);
$stream->write($string, $length);
$stream->write($string, $length, $offset);
$stream->flush();
$stream->close();
Provides an output stream for writing binary data to a servlet response.
An output stream object is normally retrieved via "getOutputStream" in Servlet::ServletResponse.
NOTE: While this is an abstract class in the Java API, the Perl API provides it as an interface. The main difference is that the Perl version has no constructor. Also, it merges the methods declared in java.io.OutputStream and javax.servlet.ServletOutputStream into a single interface.
METHODS
close()
Closes the stream and releases any system resources associated with the stream.
Throws:
Servlet::Util::IOException
if an output exception occurred
flush()
Flushes this input stream and forces any buffered output bytes to be written out.
Throws:
Servlet::Util::IOException
if an output exception occurred
print($value)
Writes a scalar value to the client, with no carriage return-line feed (CRLF) character at the end.
Parameters:
$value
the value to send to the client
Throws:
Servlet::Util::IOException
if an output exception occurred
println([$value])
Writes a scalar value to the client, if specified, followed by a carriage return-line feed (CRLF) character.
Parameters:
$value
the (optional) value to send to the client
Throws:
Servlet::Util::IOException
if an output exception occurred
write($value)
write($value, $length)
write($value, $length, $offset)
Writes the scalar $value to the stream.
If no arguments are specified, functions exactly equivalently to print().
If $length is specified, writes that many bytes from $value. If $offset is specified, starts writing that many bytes from the beginning of $value. $offset and $length must not be negative, and $length must not be greater than the amount of data in $value starting from $offset.
Blocks until input data is available, the end of the stream is detected, or an exception is thrown.
Parameters:
$value
a scalar value to be written
$length
the maximum number of bytes to write
$offset
the location in $value where data is read from
Throws:
Servlet::Util::IOException
if an input exception occurs
Servlet::Util::IndexOutOfBoundsException
if $buffer is specified as undef
<<lessSYNOPSIS
$stream->print($string);
$stream->println();
$stream->println($string);
$stream->write($string);
$stream->write($string, $length);
$stream->write($string, $length, $offset);
$stream->flush();
$stream->close();
Provides an output stream for writing binary data to a servlet response.
An output stream object is normally retrieved via "getOutputStream" in Servlet::ServletResponse.
NOTE: While this is an abstract class in the Java API, the Perl API provides it as an interface. The main difference is that the Perl version has no constructor. Also, it merges the methods declared in java.io.OutputStream and javax.servlet.ServletOutputStream into a single interface.
METHODS
close()
Closes the stream and releases any system resources associated with the stream.
Throws:
Servlet::Util::IOException
if an output exception occurred
flush()
Flushes this input stream and forces any buffered output bytes to be written out.
Throws:
Servlet::Util::IOException
if an output exception occurred
print($value)
Writes a scalar value to the client, with no carriage return-line feed (CRLF) character at the end.
Parameters:
$value
the value to send to the client
Throws:
Servlet::Util::IOException
if an output exception occurred
println([$value])
Writes a scalar value to the client, if specified, followed by a carriage return-line feed (CRLF) character.
Parameters:
$value
the (optional) value to send to the client
Throws:
Servlet::Util::IOException
if an output exception occurred
write($value)
write($value, $length)
write($value, $length, $offset)
Writes the scalar $value to the stream.
If no arguments are specified, functions exactly equivalently to print().
If $length is specified, writes that many bytes from $value. If $offset is specified, starts writing that many bytes from the beginning of $value. $offset and $length must not be negative, and $length must not be greater than the amount of data in $value starting from $offset.
Blocks until input data is available, the end of the stream is detected, or an exception is thrown.
Parameters:
$value
a scalar value to be written
$length
the maximum number of bytes to write
$offset
the location in $value where data is read from
Throws:
Servlet::Util::IOException
if an input exception occurs
Servlet::Util::IndexOutOfBoundsException
if $buffer is specified as undef
Download (0.088MB)
Added: 2007-06-13 License: Perl Artistic License Price:
864 downloads
Designer Framework 1.0
Designer Framework provides a highly customizable e-commerce framework. more>>
Designer Framework provides a highly customizable e-commerce framework.
It automatically builds e-commerce interfaces that support a products contraints and properties and can be used to model the product to be sold, automatically and dynamically generating different output formats depending on the generator used.
It includes a Java modelling application, a finite state machine described in XML as intermediate format for the customer interface, and XSLT scripts for transforming the state machine into the final interface.Designer Framework is a highly customizable e-commerce framework.
It automatically builds e-commerce interfaces that support a products contraints and properties and can be used to model the product to be sold, automatically and dynamically generating different output formats depending on the generator used.
It includes a Java modelling application, a finite state machine described in XML as intermediate format for the customer interface, and XSLT scripts for transforming the state machine into the final interface.
<<lessIt automatically builds e-commerce interfaces that support a products contraints and properties and can be used to model the product to be sold, automatically and dynamically generating different output formats depending on the generator used.
It includes a Java modelling application, a finite state machine described in XML as intermediate format for the customer interface, and XSLT scripts for transforming the state machine into the final interface.Designer Framework is a highly customizable e-commerce framework.
It automatically builds e-commerce interfaces that support a products contraints and properties and can be used to model the product to be sold, automatically and dynamically generating different output formats depending on the generator used.
It includes a Java modelling application, a finite state machine described in XML as intermediate format for the customer interface, and XSLT scripts for transforming the state machine into the final interface.
Download (MB)
Added: 2007-02-16 License: GPL (GNU General Public License) Price:
983 downloads
ipfmeta 1.3
ipfmeta is used to simplify the maintenance of an IPfilter ruleset. more>>
ipfmeta is used to simplify the maintenance of an IPfilter ruleset. It does this through the use of objects. A matching object gets replaced by its values at runtime. ipfmeta is specifically geared towards IPfilter. It is line oriented: if an object has multiple values, the line with the object is duplicated and substituted for each value. It is also recursive: an object may have another object as a value.
ipfmeta is a program written in Perl.
<<lessipfmeta is a program written in Perl.
Download (0.004MB)
Added: 2006-07-06 License: BSD License Price:
1205 downloads
Convert::CharMap 0.01
Convert::CharMap is a Perl module that can conversion between Unicode Character Maps. more>>
Convert::CharMap is a Perl module that can conversion between Unicode Character Maps.
SYNOPSIS
use Convert::CharMap;
my $map = Convert::CharMap->load(CharMapML => test.xml);
$map->save(UCM => test.ucm);
This module transforms between unicode character map formats, using an in-memory representation of CharMapML as the intermediate format.
Currently is supports the CharMapML, YAML and UCM (write-only) backends; ENC, Iconv and other maps are also planned.
<<lessSYNOPSIS
use Convert::CharMap;
my $map = Convert::CharMap->load(CharMapML => test.xml);
$map->save(UCM => test.ucm);
This module transforms between unicode character map formats, using an in-memory representation of CharMapML as the intermediate format.
Currently is supports the CharMapML, YAML and UCM (write-only) backends; ENC, Iconv and other maps are also planned.
Download (0.004MB)
Added: 2006-08-18 License: Perl Artistic License Price:
1164 downloads
linSmith 0.99.3
linSmith is a Smith Charting program, mainly designed for educational use. more>>
linSmith project is a Smith Charting program, mainly designed for educational use.
linSmith is a Smith Charting program, mainly designed for educational use. As such, there is an emphasis on capabilities that improve the showing the effect of-style of operation.
Main features:
- Definition of multiple load impedances (at different frequencies)
- Addition of discrete (L, C, series and parallel LC, and transformer) and line components (open and closed stubs, and line segments)
- Connection in series and parallel
- Easy experimenting with component values using scrollbars
- A virtual component switches from impedance to admittance to help explaining (or understanding) parallel components
- The chart works in real impedances (not normalized ones)
- Direct view of the result on the screen
- Ability to generate publication quality Postscript output
- A log file with textual results at each intermediate step
- Load and circuit configuration is stored separately, permitting several solutions without re-defining the other.
<<lesslinSmith is a Smith Charting program, mainly designed for educational use. As such, there is an emphasis on capabilities that improve the showing the effect of-style of operation.
Main features:
- Definition of multiple load impedances (at different frequencies)
- Addition of discrete (L, C, series and parallel LC, and transformer) and line components (open and closed stubs, and line segments)
- Connection in series and parallel
- Easy experimenting with component values using scrollbars
- A virtual component switches from impedance to admittance to help explaining (or understanding) parallel components
- The chart works in real impedances (not normalized ones)
- Direct view of the result on the screen
- Ability to generate publication quality Postscript output
- A log file with textual results at each intermediate step
- Load and circuit configuration is stored separately, permitting several solutions without re-defining the other.
Download (0.94MB)
Added: 2006-11-24 License: GPL (GNU General Public License) Price:
1067 downloads
Tie::FileLRUCache 1.05
Tie::FileLRUCache is a lightweight but robust filesystem based persistent LRU cache. more>>
Tie::FileLRUCache is a lightweight but robust filesystem based persistent LRU cache.
SYNOPSIS
OBJECT INTERFACE
use Tie::FileLRUCache;
my $cache = Tie::FileLRUCache->new({ -cache_dir => $directory, -keep_last => 100 });
# Inserting value into LRU cache using -key
$cache->update({ -key => $key, -value => $value });
# Inserting value into LRU cache using -cache_key
my $cache_key = $cache->make_cache_key({ -key => $key });
$cache->update({ -cache_key => $cache_key, -value => $value });
# Checking LRU cache
my ($in_cache,$value) = $cache->check({ -key => $key });
if ($in_cache) {
return $value;
}
# Not in cache - do something else
# Checking LRU cache with speed up hack for objects, hashes, arrays etc used as keys
my $cache_key = $cache->make_cache_key({ -key => $something });
my ($in_cache,$value) = $cache->check({ -cache_key => $cache_key });
if ($in_cache) {
return $value;
}
# Not in cache - do something else
# Deleting a key and its value from the cache
$cache->delete({ -key => $key });
# Clearing LRU cache
$cache->clear;
TIED INTERFACE
use Tie::FileLRUCache;
[$X =] tie %hash, Tie::FileLRUCache, $cache_dir, $keep_last_n;
# Adding a key/value to the cache
$hash{$key} = $value;
# Checking the cache
if (not exists $hash{$key}) {;
# No match
.
.
.
} else {
my $value = $hash{$key};
.
.
.
}
# Removing a value from the cache;
delete $hash{$key};
# Clearing the cache
%hash = ();
Note: Iteration over the cache (each, keys, values) is _NOT_ supported.
<<lessSYNOPSIS
OBJECT INTERFACE
use Tie::FileLRUCache;
my $cache = Tie::FileLRUCache->new({ -cache_dir => $directory, -keep_last => 100 });
# Inserting value into LRU cache using -key
$cache->update({ -key => $key, -value => $value });
# Inserting value into LRU cache using -cache_key
my $cache_key = $cache->make_cache_key({ -key => $key });
$cache->update({ -cache_key => $cache_key, -value => $value });
# Checking LRU cache
my ($in_cache,$value) = $cache->check({ -key => $key });
if ($in_cache) {
return $value;
}
# Not in cache - do something else
# Checking LRU cache with speed up hack for objects, hashes, arrays etc used as keys
my $cache_key = $cache->make_cache_key({ -key => $something });
my ($in_cache,$value) = $cache->check({ -cache_key => $cache_key });
if ($in_cache) {
return $value;
}
# Not in cache - do something else
# Deleting a key and its value from the cache
$cache->delete({ -key => $key });
# Clearing LRU cache
$cache->clear;
TIED INTERFACE
use Tie::FileLRUCache;
[$X =] tie %hash, Tie::FileLRUCache, $cache_dir, $keep_last_n;
# Adding a key/value to the cache
$hash{$key} = $value;
# Checking the cache
if (not exists $hash{$key}) {;
# No match
.
.
.
} else {
my $value = $hash{$key};
.
.
.
}
# Removing a value from the cache;
delete $hash{$key};
# Clearing the cache
%hash = ();
Note: Iteration over the cache (each, keys, values) is _NOT_ supported.
Download (0.017MB)
Added: 2007-03-03 License: Perl Artistic License Price:
965 downloads
Race Timing 0.01
Race Timing lets you manage races by describing a race and the rules associated with it. more>>
Race Timing lets you manage races by describing a race and the rules associated with it. You can time the racers and provide realtime standing of the race participants.
You can manage various race events (pilot changes, refuelling, laps, intermediate sprints, etc.) and broadcast various information to the participants. Race Timing is best used with transponders, but manual operation is also provided.
<<lessYou can manage various race events (pilot changes, refuelling, laps, intermediate sprints, etc.) and broadcast various information to the participants. Race Timing is best used with transponders, but manual operation is also provided.
Download (1.1MB)
Added: 2006-07-12 License: GPL (GNU General Public License) Price:
1202 downloads
Mail::Message::Head::ResentGroup 2.069
Mail::Message::Head::ResentGroup is a Perl module with header fields tracking message delivery. more>>
Mail::Message::Head::ResentGroup is a Perl module with header fields for tracking message delivery.
INHERITANCE
Mail::Message::Head::ResentGroup
is a Mail::Message::Head::FieldGroup
is a Mail::Reporter
SYNOPSIS
my $rg = Mail::Message::Head::ResentGroup->new(head => $head,
From => me@home.nl, To => You@tux.aq);
$head->addResentGroup($rg);
my $rg = $head->addResentGroup(From => me);
my @from = $rg->From;
my @rgs = $head->resentGroups;
$rg[2]->delete if @rgs > 2;
A resent group is a set of header fields which describe one intermediate step in the message transport. Resent groups have NOTHING to do with user activety; there is no relation to the users sense of creating reply, forward, or bounce messages at all!
<<lessINHERITANCE
Mail::Message::Head::ResentGroup
is a Mail::Message::Head::FieldGroup
is a Mail::Reporter
SYNOPSIS
my $rg = Mail::Message::Head::ResentGroup->new(head => $head,
From => me@home.nl, To => You@tux.aq);
$head->addResentGroup($rg);
my $rg = $head->addResentGroup(From => me);
my @from = $rg->From;
my @rgs = $head->resentGroups;
$rg[2]->delete if @rgs > 2;
A resent group is a set of header fields which describe one intermediate step in the message transport. Resent groups have NOTHING to do with user activety; there is no relation to the users sense of creating reply, forward, or bounce messages at all!
Download (0.57MB)
Added: 2007-02-22 License: Perl Artistic License Price:
974 downloads
Hilbert II 0.03.04
The Goal of Hilbert II is the creation of a system that enables a working mathematician to put theorems into it. more>>
Hilbert II project is decentralised access to verified and readable mathematical knowledge. As its name already suggests, this project is in the tradition of Hilberts program.
Hilbert II wants to become a free, world wide mathematical knowledge base that contains mathematical theorems and proofs in a formal correct form. All belonging documents are published under the GNU Free Documentation License.
We aim to adapt the common mathematical argumentation to a formal syntax. That means, whenever in mathematics a certain kind of argumentation is often used we will look forward to integrate it into the formal language of Hilbert II. This formal language is called the qedeq format.
Hilbert II provides a program suite that enables a mathematician to put theorems and proofs into that knowledge base. These proofs are automatically verified by a proof checker. Also texts in "common mathematical language" can be integrated.
The mathematical axioms, definitions and propositions are combined to so called qedeq modules. Such a module could be seen as a mathematical textbook which includes formal correct proofs. Because this system is not centrally administrated and references to any location in the internet are possible, a world wide mathematical knowledge base could be build.
Any proof of a theorem in this "mathematical web" could be drilled down to the very elementary rules and axioms. Think of an incredible number of mathematical textbooks with hyperlinks and each of its proofs could be verified by Hilbert II. For each theorem the dependency of other theorems, definitions and axioms could be easily derived.
The basic concept of this project is published as PDF document: basic concept. This document is already generated out of the following XML file: qedeq_basic_concept.xml. The main project is in the first develompment phase, see under development.
There exists a working prototype called Principia Mathematica II. It is fully capable of first order predicate logic and shows the main features and functionality of Hilbert II. It can verify (prototype) qedeq module files located anywhere in the internet.
The prototype has a GUI and can transfer qedeq modules into HTML and LaTeX files. You can create and edit your own new qedeq module and publish it in the internet. In the web already existing qedeq modules could be used just by referencing them.
Enhancements:
- This release has a GUI window for transforming LaTeX formulas into QEDEQ XML.
- Behind the scenes a huge refactoring took place.
- The project has now a kernel structure.
- The kernel can be initialized and offers methods for loading a module from the file system or out of the Internet.
- The kernel buffers modules and keeps a log.
- The kernel is not finished yet but the basic structure is there.
<<lessHilbert II wants to become a free, world wide mathematical knowledge base that contains mathematical theorems and proofs in a formal correct form. All belonging documents are published under the GNU Free Documentation License.
We aim to adapt the common mathematical argumentation to a formal syntax. That means, whenever in mathematics a certain kind of argumentation is often used we will look forward to integrate it into the formal language of Hilbert II. This formal language is called the qedeq format.
Hilbert II provides a program suite that enables a mathematician to put theorems and proofs into that knowledge base. These proofs are automatically verified by a proof checker. Also texts in "common mathematical language" can be integrated.
The mathematical axioms, definitions and propositions are combined to so called qedeq modules. Such a module could be seen as a mathematical textbook which includes formal correct proofs. Because this system is not centrally administrated and references to any location in the internet are possible, a world wide mathematical knowledge base could be build.
Any proof of a theorem in this "mathematical web" could be drilled down to the very elementary rules and axioms. Think of an incredible number of mathematical textbooks with hyperlinks and each of its proofs could be verified by Hilbert II. For each theorem the dependency of other theorems, definitions and axioms could be easily derived.
The basic concept of this project is published as PDF document: basic concept. This document is already generated out of the following XML file: qedeq_basic_concept.xml. The main project is in the first develompment phase, see under development.
There exists a working prototype called Principia Mathematica II. It is fully capable of first order predicate logic and shows the main features and functionality of Hilbert II. It can verify (prototype) qedeq module files located anywhere in the internet.
The prototype has a GUI and can transfer qedeq modules into HTML and LaTeX files. You can create and edit your own new qedeq module and publish it in the internet. In the web already existing qedeq modules could be used just by referencing them.
Enhancements:
- This release has a GUI window for transforming LaTeX formulas into QEDEQ XML.
- Behind the scenes a huge refactoring took place.
- The project has now a kernel structure.
- The kernel can be initialized and offers methods for loading a module from the file system or out of the Internet.
- The kernel buffers modules and keeps a log.
- The kernel is not finished yet but the basic structure is there.
Download (1.0MB)
Added: 2007-05-10 License: GPL (GNU General Public License) Price:
899 downloads
Ghost Diagrams 0.8
Ghost Diagrams is a program that takes sets of tiles and tries to find patterns into which they may be formed. more>>
Ghost Diagrams is a project that takes sets of tiles and tries to find patterns into which they may be formed. The patterns it finds when given randomly chosen tiles are often surprising.
It turns out that tiling patterns are a form of computation of equal power to Turing machines, lambda calculus, and cellular automata. For example, here is a tileset implementing "Rule 110", a cellular automaton known to be capable of universal computation.
Considerations similar to the halting problem and Godels theorem apply. There is no upper limit to their capacity to surprise us. Furthermore, tiles have an intuitive quality that other forms of computation lack. You can see how they fit together.
An organism is more than the sum of its organs. When the organs are fitted together, the organism becomes something more. This surprising something more we call "spirit" or "ghost". Ghost Diagrams finds the ghosts implicit in simple sets of tiles.
<<lessIt turns out that tiling patterns are a form of computation of equal power to Turing machines, lambda calculus, and cellular automata. For example, here is a tileset implementing "Rule 110", a cellular automaton known to be capable of universal computation.
Considerations similar to the halting problem and Godels theorem apply. There is no upper limit to their capacity to surprise us. Furthermore, tiles have an intuitive quality that other forms of computation lack. You can see how they fit together.
An organism is more than the sum of its organs. When the organs are fitted together, the organism becomes something more. This surprising something more we call "spirit" or "ghost". Ghost Diagrams finds the ghosts implicit in simple sets of tiles.
Download (0.033MB)
Added: 2006-02-19 License: GPL (GNU General Public License) Price:
1353 downloads
Data::Diver 1.0101
Data::Diver is a simple, ad-hoc access to elements of deeply nested structures. more>>
Data::Diver is a simple, ad-hoc access to elements of deeply nested structures.
SUMMARY
Data::Diver provides the Dive() and DiveVal() functions for ad-hoc access to elements of deeply nested data structures, and the DiveRef(), DiveError(), DiveClear(), and DiveDie() support functions.
SYNOPSIS
use Data::Diver qw( Dive DiveRef DiveError );
my $root= {
top => [
{ first => 1 },
{ second => {
key => [
0, 1, 2, {
three => {
exists => yes,
},
},
],
},
},
],
};
# Sets $value to yes
# ( $root->{top}[1]{second}{key}[3]{three}{exists} ):
my $value= Dive( $root, qw( top 1 second key 3 three exists ) );
# Sets $value to undef() because "missing" doesnt exist:
$value= Dive( $root, qw( top 1 second key 3 three missing ) );
# Sets $value to undef() because
# $root->{top}[1]{second}{key}[4] is off the end of the array:
$value= Dive( $root, qw( top 1 second key 4 ... ) );
# Sets $value to undef() because
# $root->{top}[1]{second}{key}[-5] would be a fatal error:
$value= Dive( $root, qw( top 1 second key -5 ... ) );
# Sets $ref to $root->{top}[9]{new}{sub} (which grows
# @{ $root->{top} } and autovifies two anonymous hashes):
my $ref= DiveRef( $root, qw( top 9 new sub ) );
# die()s because "other" isnt a valid number:
$ref= DiveRef( $root, qw( top other ... ) );
# Does: $root->{num}{1}{2}= 3;
# (Autovivifies hashes despite the numeric keys.)
DiveVal( $root, ( qw( num 1 2 ) ) ) = 3;
# Same thing:
${ DiveRef( $root, num, 1, 2 ) } = 3;
# Retrieves above value, $value= 3:
$value= DiveVal( $root, num, 1, 2 );
# Same thing:
$value= ${ DiveRef( $root, ( qw( num 1 2 ) ) ) };
# Tries to do $root->{top}{1} and dies
# because $root->{top} is an array reference:
DiveRef( $root, top, 1 );
# To only autovivify at the last step:
$ref= DiveRef(
Dive( $root, qw( top 1 second key 3 three ) ),
missing );
if( $ref ) {
$$ref= me too
} else {
my( $nestedRef, $svKey, $errDesc )= DiveError();
die "Couldnt dereference $nestedRef via $$svKey: $errDescn";
}
<<lessSUMMARY
Data::Diver provides the Dive() and DiveVal() functions for ad-hoc access to elements of deeply nested data structures, and the DiveRef(), DiveError(), DiveClear(), and DiveDie() support functions.
SYNOPSIS
use Data::Diver qw( Dive DiveRef DiveError );
my $root= {
top => [
{ first => 1 },
{ second => {
key => [
0, 1, 2, {
three => {
exists => yes,
},
},
],
},
},
],
};
# Sets $value to yes
# ( $root->{top}[1]{second}{key}[3]{three}{exists} ):
my $value= Dive( $root, qw( top 1 second key 3 three exists ) );
# Sets $value to undef() because "missing" doesnt exist:
$value= Dive( $root, qw( top 1 second key 3 three missing ) );
# Sets $value to undef() because
# $root->{top}[1]{second}{key}[4] is off the end of the array:
$value= Dive( $root, qw( top 1 second key 4 ... ) );
# Sets $value to undef() because
# $root->{top}[1]{second}{key}[-5] would be a fatal error:
$value= Dive( $root, qw( top 1 second key -5 ... ) );
# Sets $ref to $root->{top}[9]{new}{sub} (which grows
# @{ $root->{top} } and autovifies two anonymous hashes):
my $ref= DiveRef( $root, qw( top 9 new sub ) );
# die()s because "other" isnt a valid number:
$ref= DiveRef( $root, qw( top other ... ) );
# Does: $root->{num}{1}{2}= 3;
# (Autovivifies hashes despite the numeric keys.)
DiveVal( $root, ( qw( num 1 2 ) ) ) = 3;
# Same thing:
${ DiveRef( $root, num, 1, 2 ) } = 3;
# Retrieves above value, $value= 3:
$value= DiveVal( $root, num, 1, 2 );
# Same thing:
$value= ${ DiveRef( $root, ( qw( num 1 2 ) ) ) };
# Tries to do $root->{top}{1} and dies
# because $root->{top} is an array reference:
DiveRef( $root, top, 1 );
# To only autovivify at the last step:
$ref= DiveRef(
Dive( $root, qw( top 1 second key 3 three ) ),
missing );
if( $ref ) {
$$ref= me too
} else {
my( $nestedRef, $svKey, $errDesc )= DiveError();
die "Couldnt dereference $nestedRef via $$svKey: $errDescn";
}
Download (0.008MB)
Added: 2007-08-02 License: Perl Artistic License Price:
813 downloads
B::JVM::Jasmin::CompileState 0.02
B::JVM::Jasmin::CompileState is an internal package used by B::JVM::Jasmin to keep state of compilation. more>>
B::JVM::Jasmin::CompileState is an internal package used by B::JVM::Jasmin to keep state of compilation.
SYNOPSIS
use B::JVM::Jasmin::CompileState;
my $state = new B::JVM::Jasmin::CompileState([HASHREF]);
This class is used to store the internal state of the compiler as it runs. Certain global information must be accounted for, and instead of making a bunch of global variables, I thought it would be better to keep track of this via a sub-package.
B::JVM::Jasmin::CompileState Package Variables
$VERSION
Version number of B::JVM::Jasmin::CompileState. It should always match the version of B::JVM::Jasmin
@ISA
Canonical @ISA array, derives from nothing
Modules used by B::JVM::Jasmin::CompileState
Carp
Used for error reporting
File::Spec::Functions
Used to do some operations on files
IO::File
used for creating lexically scoped file handles
B::JVM::Jasmin::Emit
Needed for creating emitter objects for output
Methods in B::JVM::Jasmin::CompileState
B::JVM::Jasmin::CompileState::new
usage: B::JVM::Jasmin::CompileState::new(HASHREF)
Creates a new object of the class. First, it checks for the validity of the keys of the given initialization package (valid keys are kept in @validUserParameters), and if everything checks out, it sets up a few defaults if none were given and returns the blessed object.
Accepted User Parameters:
mainClassName
The name to be used for the Java class that will correspond to the "main::" package. Defaults to "Main" if none is given.
currentPackage
This is the current package being compiled. Should be updated by the user using the setCurrentPackage method. There is really no need to initialize it until compilation starts. Consequently, the value defaults to undef.
outputDirectory
A directory to use for creation of output files. Defaults to the current working directory.
keepIntermediateFiles
If true, intermediate files that are generated during the compilation process are kept for user inspection.
B::JVM::Jasmin::CompileState::createNewFile
usage: $obj->createNewFile($packageName, [$className])
Creates a new file entry in the compiler state object and opens a new file handle for use when writing out jasmin files. If the file has already been created, nothing is done. This is typically called whenever a new package is discovered, so that a seperate class file can be generated for that package (class) in True Java Style (TM) :)
B::JVM::Jasmin::CompileState::emit
usage: $obj->emit([PACAKGE_NAME])
returns the emitter object associated with the given package, PACAKGE_NAME. If PACKAGE_NAME is missing, then the emitter object of the currentPackage is returned
B::JVM::Jasmin::CompileState::setCurrentMethod
usage: $obj->setCurrentMethod($methodName)
Set the current method to be $methodName
B::JVM::Jasmin::CompileState::setCurrentPackage
usage: $obj->setCurrentPackage($packageName)
Set the current package to be $packageName
B::JVM::Jasmin::CompileState::clearCurrentMethod
usage: $obj->clearCurrentMethod()
Clear the current method name stored
B::JVM::Jasmin::CompileState::getCurrentMethod
usage: $obj->getCurrentMethod()
Return the current method
B::JVM::Jasmin::CompileState::DESTORY
usage: $obj->DESTROY()
Default destructor for the object
<<lessSYNOPSIS
use B::JVM::Jasmin::CompileState;
my $state = new B::JVM::Jasmin::CompileState([HASHREF]);
This class is used to store the internal state of the compiler as it runs. Certain global information must be accounted for, and instead of making a bunch of global variables, I thought it would be better to keep track of this via a sub-package.
B::JVM::Jasmin::CompileState Package Variables
$VERSION
Version number of B::JVM::Jasmin::CompileState. It should always match the version of B::JVM::Jasmin
@ISA
Canonical @ISA array, derives from nothing
Modules used by B::JVM::Jasmin::CompileState
Carp
Used for error reporting
File::Spec::Functions
Used to do some operations on files
IO::File
used for creating lexically scoped file handles
B::JVM::Jasmin::Emit
Needed for creating emitter objects for output
Methods in B::JVM::Jasmin::CompileState
B::JVM::Jasmin::CompileState::new
usage: B::JVM::Jasmin::CompileState::new(HASHREF)
Creates a new object of the class. First, it checks for the validity of the keys of the given initialization package (valid keys are kept in @validUserParameters), and if everything checks out, it sets up a few defaults if none were given and returns the blessed object.
Accepted User Parameters:
mainClassName
The name to be used for the Java class that will correspond to the "main::" package. Defaults to "Main" if none is given.
currentPackage
This is the current package being compiled. Should be updated by the user using the setCurrentPackage method. There is really no need to initialize it until compilation starts. Consequently, the value defaults to undef.
outputDirectory
A directory to use for creation of output files. Defaults to the current working directory.
keepIntermediateFiles
If true, intermediate files that are generated during the compilation process are kept for user inspection.
B::JVM::Jasmin::CompileState::createNewFile
usage: $obj->createNewFile($packageName, [$className])
Creates a new file entry in the compiler state object and opens a new file handle for use when writing out jasmin files. If the file has already been created, nothing is done. This is typically called whenever a new package is discovered, so that a seperate class file can be generated for that package (class) in True Java Style (TM) :)
B::JVM::Jasmin::CompileState::emit
usage: $obj->emit([PACAKGE_NAME])
returns the emitter object associated with the given package, PACAKGE_NAME. If PACKAGE_NAME is missing, then the emitter object of the currentPackage is returned
B::JVM::Jasmin::CompileState::setCurrentMethod
usage: $obj->setCurrentMethod($methodName)
Set the current method to be $methodName
B::JVM::Jasmin::CompileState::setCurrentPackage
usage: $obj->setCurrentPackage($packageName)
Set the current package to be $packageName
B::JVM::Jasmin::CompileState::clearCurrentMethod
usage: $obj->clearCurrentMethod()
Clear the current method name stored
B::JVM::Jasmin::CompileState::getCurrentMethod
usage: $obj->getCurrentMethod()
Return the current method
B::JVM::Jasmin::CompileState::DESTORY
usage: $obj->DESTROY()
Default destructor for the object
Download (0.043MB)
Added: 2007-06-11 License: Perl Artistic License Price:
865 downloads
Perl x86 Disassembler 0.16
Perl x86 Disassembler is an Intel x86 disassembler written in Perl. more>>
The libdisasm library provides basic disassembly of Intel x86 instructions from a binary stream. The intent is to provide an easy to use disassembler which can be called from any application; the disassembly can be produced in AT&T syntax and Intel syntax, as well as in an intermediate format which includes detailed instruction and operand type information.
This disassembler is derived from libi386.so in the bastard project; as such it is x86 specific and will not be expanded to include other CPU architectures. Releases for libdisasm are generated automatically alongside releases of the bastard; it is not a standalone project, though it is a standalone library.
The recent spate of objdump output analyzers has proven that many of the people [not necessarily programmers] interested in writing disassemblers have little knowledge of, or interest in, C programming; as a result, these "disassemblers" have been written in Perl.
Usage
The basic usage of the library is:
1. initialize the library, using disassemble_init()
2. disassemble stuff, using disassemble_address()
3. un-initialize the library, using disassemble_cleanup
These routines have the following prototypes:
int disassemble_init(int options, int format);
int disassemble_cleanup(void);
int disassemble_address(char *buf, int buf_len, struct instr *i);
Instructions are disassembled to an intermediate format:
struct instr {
char mnemonic[16];
char dest[32];
char src[32];
char aux[32];
int mnemType; /* type of instruction */
int destType; /* type of dest operand */
int srcType; /* type of source operand */
int auxType; /* type of 3rd operand */
int size; /* size of insn in bytes */
};
The sprint_address() can be used in place of the disassemble_address() routine in order to generate a string representation instead of an intermediate one:
int sprint_address(char *str, int len, char *buf, int buf_len);
...so that a simple disassembler can be implemented in C with the following code:
#include
char buf[BUF_SIZE]; /* buffer of bytes to disassemble */
char line[LINE_SIZE]; /* buffer of line to print */
int pos = 0; /* current position in buffer */
int size; /* size of instruction */
disassemble_init(0, INTEL_SYNTAX);
while ( pos > BUF_SIZE ) {
/* disassemble address to buffer */
size = sprint_address(buf + pos, BUF_SIZE - pos, line, LINE_SIZE);
if (size) {
/* print instruction */
printf("%08X: %sn", pos, line);
pos += size;
} else {
printf("%08X: Invalid instructionn");
pos++;
}
}
disassemble_cleanup();
Alternatively, one can print the address manually using the intermediate format:
#include
char buf[BUF_SIZE]; /* buffer of bytes to disassemble */
int pos = 0; /* current position in buffer */
int size; /* size of instruction */
struct instr i; /* representation of the code instruction */
disassemble_init(0, INTEL_SYNTAX);
while ( pos > BUF_SIZE ) {
disassemble_address(buf + pos, BUF_SIZE - pos, &i);
if (size) {
/* print address and mnemonic */
printf("%08X: %s", pos, i.mnemonic);
/* print operands */
if ( i.destType ) {
printf("t%s", i.dest);
if ( i.srcType ) {
printf(", %s", i.src);
if ( i.auxType ) {
printf(", %s", i.aux);
}
}
}
printf("n");
pos += size;
} else {
/* invalid/unrecognized instruction */
pos++;
}
}
disassemble_cleanup();
This is the recommended usage of libdisasm: the instruction type and operand type fields allow analyzing of the disassembled instruction, and can provide cues for xref generation, syntax hi-lighting, and control flow tracking.
<<lessThis disassembler is derived from libi386.so in the bastard project; as such it is x86 specific and will not be expanded to include other CPU architectures. Releases for libdisasm are generated automatically alongside releases of the bastard; it is not a standalone project, though it is a standalone library.
The recent spate of objdump output analyzers has proven that many of the people [not necessarily programmers] interested in writing disassemblers have little knowledge of, or interest in, C programming; as a result, these "disassemblers" have been written in Perl.
Usage
The basic usage of the library is:
1. initialize the library, using disassemble_init()
2. disassemble stuff, using disassemble_address()
3. un-initialize the library, using disassemble_cleanup
These routines have the following prototypes:
int disassemble_init(int options, int format);
int disassemble_cleanup(void);
int disassemble_address(char *buf, int buf_len, struct instr *i);
Instructions are disassembled to an intermediate format:
struct instr {
char mnemonic[16];
char dest[32];
char src[32];
char aux[32];
int mnemType; /* type of instruction */
int destType; /* type of dest operand */
int srcType; /* type of source operand */
int auxType; /* type of 3rd operand */
int size; /* size of insn in bytes */
};
The sprint_address() can be used in place of the disassemble_address() routine in order to generate a string representation instead of an intermediate one:
int sprint_address(char *str, int len, char *buf, int buf_len);
...so that a simple disassembler can be implemented in C with the following code:
#include
char buf[BUF_SIZE]; /* buffer of bytes to disassemble */
char line[LINE_SIZE]; /* buffer of line to print */
int pos = 0; /* current position in buffer */
int size; /* size of instruction */
disassemble_init(0, INTEL_SYNTAX);
while ( pos > BUF_SIZE ) {
/* disassemble address to buffer */
size = sprint_address(buf + pos, BUF_SIZE - pos, line, LINE_SIZE);
if (size) {
/* print instruction */
printf("%08X: %sn", pos, line);
pos += size;
} else {
printf("%08X: Invalid instructionn");
pos++;
}
}
disassemble_cleanup();
Alternatively, one can print the address manually using the intermediate format:
#include
char buf[BUF_SIZE]; /* buffer of bytes to disassemble */
int pos = 0; /* current position in buffer */
int size; /* size of instruction */
struct instr i; /* representation of the code instruction */
disassemble_init(0, INTEL_SYNTAX);
while ( pos > BUF_SIZE ) {
disassemble_address(buf + pos, BUF_SIZE - pos, &i);
if (size) {
/* print address and mnemonic */
printf("%08X: %s", pos, i.mnemonic);
/* print operands */
if ( i.destType ) {
printf("t%s", i.dest);
if ( i.srcType ) {
printf(", %s", i.src);
if ( i.auxType ) {
printf(", %s", i.aux);
}
}
}
printf("n");
pos += size;
} else {
/* invalid/unrecognized instruction */
pos++;
}
}
disassemble_cleanup();
This is the recommended usage of libdisasm: the instruction type and operand type fields allow analyzing of the disassembled instruction, and can provide cues for xref generation, syntax hi-lighting, and control flow tracking.
Download (0.038MB)
Added: 2005-03-07 License: Artistic License Price:
1701 downloads
Pathfinder PKI Daemon 0.1.0
Pathfinder PKI Daemon is designed to provide a mechanism for any program to perform RFC3280-compliant path validation... more>>
Pathfinder PKI Daemon is designed to provide a mechanism for any program to perform RFC3280-compliant path validation of X509 certificates, even when some of the intermediate certificates are not present on the local machine. The project will automatically download any such certificates (and their CRLs) from the Internet as needed using the AIA and CRL distribution point extensions of the certificates it is processing.
By default, the Pathfinder daemon listens on the D-Bus system bus for incoming requests. In this way, any project can easily gain the ability to reliably validate the trustworthiness of X509 certificates. For the convenience of those using OpenSSL or NSS (Netscape Security Services), two libraries containing a callback suitable for use with an SSL connection are provided with the main Pathfinder distribution.
If you are looking for a demonstration of Pathfinder, you may be interested in Pathviewer, which provides a graphical view of path validation via a GTK+ interface.
<<lessBy default, the Pathfinder daemon listens on the D-Bus system bus for incoming requests. In this way, any project can easily gain the ability to reliably validate the trustworthiness of X509 certificates. For the convenience of those using OpenSSL or NSS (Netscape Security Services), two libraries containing a callback suitable for use with an SSL connection are provided with the main Pathfinder distribution.
If you are looking for a demonstration of Pathfinder, you may be interested in Pathviewer, which provides a graphical view of path validation via a GTK+ interface.
Download (0.25MB)
Added: 2007-08-07 License: LGPL (GNU Lesser General Public License) Price:
809 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above intermediate value theorem 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