text processing
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 5279
Workorder Processing System 0.3.0
Workorder Processing System allows you to quickly set up a work order/ticket tracking system for most service related businesses more>>
Workorder Processing System allows you to quickly set up a work order/ticket tracking system for most service related businesses.
Workorder Processing System is capable of handling multiple branches, which allows all branches to run from one central server connected to the Internet.
Main features:
- Multi branch capable with central server
- Customer address database
- Customer work history
- Searchable ticket database
- Business appointment scheduler
<<lessWorkorder Processing System is capable of handling multiple branches, which allows all branches to run from one central server connected to the Internet.
Main features:
- Multi branch capable with central server
- Customer address database
- Customer work history
- Searchable ticket database
- Business appointment scheduler
Download (0.21MB)
Added: 2007-04-16 License: GPL (GNU General Public License) Price:
924 downloads
Process Raw Images 0.2
Process Raw Images is a service menu for processing many raw images at once. Supports output to Jpeg, Png and Tiff. more>>
Process Raw Images is a service menu for processing many raw images at once. Supports output to Jpeg, Png and Tiff.
<<less Download (0.006MB)
Added: 2007-02-05 License: GPL (GNU General Public License) Price:
996 downloads
Text::MacroScript 1.38
Text::MacroScript is a macro pre-processor with embedded perl capability. more>>
Text::MacroScript is a macro pre-processor with embedded perl capability.
SYNOPSIS
use Text::MacroScript ;
# new() for macro processing
my $Macro = Text::MacroScript->new ;
while( ) {
print $Macro->expand( $_ ) if $_ ;
}
# Canonical use (the filename improves error messages):
my $Macro = Text::MacroScript->new ;
while( ) {
print $Macro->expand( $_, $ARGV ) if $_ ;
}
# new() for embedded macro processing
my $Macro = Text::MacroScript->new( -embedded => 1 ) ;
# Delimiters default to
# or
my $Macro = Text::MacroScript->new( -opendelim => [[, -closedelim => ]] ) ;
while( ) {
print $Macro->expand_delimited( $_, $ARGV ) if $_ ;
}
# Create a macro object and create initial macros/scripts from the file(s)
# given:
my $Macro = Text::MacroScript->new(
-file => [ local.macro, ~/.macro/global.macro ]
) ;
# Create a macro object and create initial macros/scripts from the
# definition(s) given:
my $Macro = Text::MacroScript->new(
-macro => [
[ MAX_INT => 32767 ],
],
-script => [
[ DHM2S =>
[
my $s = (#0*24*60*60)+(#1*60*60)+(#2*60) ;
"#0 days, #1 hrs, #2 mins = $s secs"
],
],
-variable => [ *MARKER* => 0 ],
) ;
# We may of course use any combination of the options.
my $Macro = Text::MacroScript->new( -comment => 1 ) ; # Create the %%[] macro.
# define()
$Macro->define( -macro, $macroname, $macrobody ) ;
$Macro->define( -script, $scriptname, $scriptbody ) ;
$Macro->define( -variable, $variablename, $variablebody ) ;
# undefine()
$Macro->undefine( -macro, $macroname ) ;
$Macro->undefine( -script, $scriptname ) ;
$Macro->undefine( -variable, $variablename ) ;
# undefine_all()
$Macro->undefine( -macro ) ;
$Macro->undefine( -script ) ;
$Macro->undefine( -variable ) ;
# list()
@macros = $Macro->list( -macro ) ;
@macros = $Macro->list( -macro, -namesonly ) ;
@scripts = $Macro->list( -script ) ;
@scripts = $Macro->list( -script, -namesonly ) ;
@variables = $Macro->list( -variable ) ;
@variables = $Macro->list( -variable, -namesonly ) ;
# load_file() - always treats the contents as within delimiters if we are
# doing embedded processing.
$Macro->load_file( $filename ) ;
# expand_file() - calls expand_embedded() if we are doing embedded
# processing otherwise calls expand().
$Macro->expand_file( $filename ) ;
@expanded = $Macro->expand_file( $filename ) ;
# expand()
$expanded = $Macro->expand( $unexpanded ) ;
$expanded = $Macro->expand( $unexpanded, $filename ) ;
# expand_embedded()
$expanded = $Macro->expand_embedded( $unexpanded ) ;
$expanded = $Macro->expand_embedded( $unexpanded, $filename ) ;
This bundle also includes the macro and macrodir scripts which allows us to expand macros without having to use/understand Text::MacroScript.pm, although you will have to learn the handful of macro commands available and which are documented here and in macro. macro provides more documentation on the embedded approach.
The macroutil.pl library supplied provides some functions which you may choose to use in HTML work for example.
<<lessSYNOPSIS
use Text::MacroScript ;
# new() for macro processing
my $Macro = Text::MacroScript->new ;
while( ) {
print $Macro->expand( $_ ) if $_ ;
}
# Canonical use (the filename improves error messages):
my $Macro = Text::MacroScript->new ;
while( ) {
print $Macro->expand( $_, $ARGV ) if $_ ;
}
# new() for embedded macro processing
my $Macro = Text::MacroScript->new( -embedded => 1 ) ;
# Delimiters default to
# or
my $Macro = Text::MacroScript->new( -opendelim => [[, -closedelim => ]] ) ;
while( ) {
print $Macro->expand_delimited( $_, $ARGV ) if $_ ;
}
# Create a macro object and create initial macros/scripts from the file(s)
# given:
my $Macro = Text::MacroScript->new(
-file => [ local.macro, ~/.macro/global.macro ]
) ;
# Create a macro object and create initial macros/scripts from the
# definition(s) given:
my $Macro = Text::MacroScript->new(
-macro => [
[ MAX_INT => 32767 ],
],
-script => [
[ DHM2S =>
[
my $s = (#0*24*60*60)+(#1*60*60)+(#2*60) ;
"#0 days, #1 hrs, #2 mins = $s secs"
],
],
-variable => [ *MARKER* => 0 ],
) ;
# We may of course use any combination of the options.
my $Macro = Text::MacroScript->new( -comment => 1 ) ; # Create the %%[] macro.
# define()
$Macro->define( -macro, $macroname, $macrobody ) ;
$Macro->define( -script, $scriptname, $scriptbody ) ;
$Macro->define( -variable, $variablename, $variablebody ) ;
# undefine()
$Macro->undefine( -macro, $macroname ) ;
$Macro->undefine( -script, $scriptname ) ;
$Macro->undefine( -variable, $variablename ) ;
# undefine_all()
$Macro->undefine( -macro ) ;
$Macro->undefine( -script ) ;
$Macro->undefine( -variable ) ;
# list()
@macros = $Macro->list( -macro ) ;
@macros = $Macro->list( -macro, -namesonly ) ;
@scripts = $Macro->list( -script ) ;
@scripts = $Macro->list( -script, -namesonly ) ;
@variables = $Macro->list( -variable ) ;
@variables = $Macro->list( -variable, -namesonly ) ;
# load_file() - always treats the contents as within delimiters if we are
# doing embedded processing.
$Macro->load_file( $filename ) ;
# expand_file() - calls expand_embedded() if we are doing embedded
# processing otherwise calls expand().
$Macro->expand_file( $filename ) ;
@expanded = $Macro->expand_file( $filename ) ;
# expand()
$expanded = $Macro->expand( $unexpanded ) ;
$expanded = $Macro->expand( $unexpanded, $filename ) ;
# expand_embedded()
$expanded = $Macro->expand_embedded( $unexpanded ) ;
$expanded = $Macro->expand_embedded( $unexpanded, $filename ) ;
This bundle also includes the macro and macrodir scripts which allows us to expand macros without having to use/understand Text::MacroScript.pm, although you will have to learn the handful of macro commands available and which are documented here and in macro. macro provides more documentation on the embedded approach.
The macroutil.pl library supplied provides some functions which you may choose to use in HTML work for example.
Download (0.036MB)
Added: 2007-05-31 License: Perl Artistic License Price:
876 downloads
SoundTouch Sound Processing Library 1.3.0
SoundTouch Sound Processing Library is an open-source audio processing library. more>>
SoundTouch Sound Processing Library is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or files:
- Tempo (time-stretch): Changes the sound to play at faster or slower speed than original, without affecting the sound pitch.
- Pitch (key) : Changes the sound pitch or key, without affecting the sound tempo or speed.
- Playback Rate : Changes both the sound tempo and pitch, as if an LP disc was played at wrong RPM rate.
Main features:
- Easy-to-use implementation of time-stretch, pitch-shift and sample rate transposing routines.
- High-performance object-oriented C++ implementation.
- Full source codes available for both the SoundTouch library and the example application.
- Clear and easy-to-use programming interface via a single C++ class.
- Supported audio data format : 16Bit integer or 32bit floating point PCM mono/stereo
- Capable of real-time audio stream processing:
- input/output latency max. ~ 100 ms.
- Processing 44.1kHz/16bit stereo sound in realtime requires a 133 Mhz Intel Pentium processor or better.
- Platform-independent implementation: The SoundTouch library can be compiled for any processor and OS platform supporting GNU C compiler (gcc) or Visual Studio, for example Win32, Linux, AIX.
- Additional assembler-level and Intel-MMX instruction set optimizations for Intel x86 compatible processors (Win32 & Linux platforms), offering several times increase in the processing performance.
- Compiled executable binaries available for Windows.
Enhancements:
- Add features/limitations/changes here
<<less- Tempo (time-stretch): Changes the sound to play at faster or slower speed than original, without affecting the sound pitch.
- Pitch (key) : Changes the sound pitch or key, without affecting the sound tempo or speed.
- Playback Rate : Changes both the sound tempo and pitch, as if an LP disc was played at wrong RPM rate.
Main features:
- Easy-to-use implementation of time-stretch, pitch-shift and sample rate transposing routines.
- High-performance object-oriented C++ implementation.
- Full source codes available for both the SoundTouch library and the example application.
- Clear and easy-to-use programming interface via a single C++ class.
- Supported audio data format : 16Bit integer or 32bit floating point PCM mono/stereo
- Capable of real-time audio stream processing:
- input/output latency max. ~ 100 ms.
- Processing 44.1kHz/16bit stereo sound in realtime requires a 133 Mhz Intel Pentium processor or better.
- Platform-independent implementation: The SoundTouch library can be compiled for any processor and OS platform supporting GNU C compiler (gcc) or Visual Studio, for example Win32, Linux, AIX.
- Additional assembler-level and Intel-MMX instruction set optimizations for Intel x86 compatible processors (Win32 & Linux platforms), offering several times increase in the processing performance.
- Compiled executable binaries available for Windows.
Enhancements:
- Add features/limitations/changes here
Download (0.42MB)
Added: 2006-02-15 License: GPL (GNU General Public License) Price:
1354 downloads
Text::LooseCSV 1.5
Text::LooseCSV is a highly forgiving variable length record text parser; compare to MS Excel. more>>
Text::LooseCSV is a highly forgiving variable length record text parser; compare to MS Excel.
SYNOPSIS
use Text::LooseCSV;
use IO::File;
$fh = new IO::File $fname;
$f = new Text::LooseCSV($fh);
# Some optional settings
$f->word_delimiter("t");
$f->line_delimiter("n");
$f->no_quotes(1);
# Parse/split a line
while ($rec = $f->next_record())
{
if ($rec == -1)
{
warn("corrupt rec: ", $f->cur_line);
next;
}
# process $rec as arrayref
...
}
# Or, (vice-versa) create a variable-length record file
$line = $f->form_record( [ Debbie Does Dallas,30.00,VHS,Classic ] );
Why another variable-length text record parser? Ive had the privilege to parse some of the gnarliest data ever seen and everything else I tried on CPAN choked (at the time I wrote this module). This module has been munching on millions of records of the filthiest data imaginable at several production sites so I thought Id contribute.
This module follows somewhat loose rules (compare to MS Excel) and will handle embedded newlines, etc. It is capable of handling large files and processes data in line-chunks. If MAX_LINEBUF is reached, however, it will mark the current record as corrupt, return -1 and start over again at the very next line. This will (of course) process tab-delimited data or whatever value you set for word_delimiter.
Methods are called in perl OO fashion.
WARNING this module messes with $/ line_delimiter sets $/ and is always called during construction. Dont change $/ during program execution!
<<lessSYNOPSIS
use Text::LooseCSV;
use IO::File;
$fh = new IO::File $fname;
$f = new Text::LooseCSV($fh);
# Some optional settings
$f->word_delimiter("t");
$f->line_delimiter("n");
$f->no_quotes(1);
# Parse/split a line
while ($rec = $f->next_record())
{
if ($rec == -1)
{
warn("corrupt rec: ", $f->cur_line);
next;
}
# process $rec as arrayref
...
}
# Or, (vice-versa) create a variable-length record file
$line = $f->form_record( [ Debbie Does Dallas,30.00,VHS,Classic ] );
Why another variable-length text record parser? Ive had the privilege to parse some of the gnarliest data ever seen and everything else I tried on CPAN choked (at the time I wrote this module). This module has been munching on millions of records of the filthiest data imaginable at several production sites so I thought Id contribute.
This module follows somewhat loose rules (compare to MS Excel) and will handle embedded newlines, etc. It is capable of handling large files and processes data in line-chunks. If MAX_LINEBUF is reached, however, it will mark the current record as corrupt, return -1 and start over again at the very next line. This will (of course) process tab-delimited data or whatever value you set for word_delimiter.
Methods are called in perl OO fashion.
WARNING this module messes with $/ line_delimiter sets $/ and is always called during construction. Dont change $/ during program execution!
Download (0.006MB)
Added: 2006-12-21 License: Perl Artistic License Price:
1037 downloads
Text::Emoticon 0.04
Text::Emoticon is a factory class for Yahoo! and MSN emoticons. more>>
Text::Emoticon is a factory class for Yahoo! and MSN emoticons.
SYNOPSIS
use Text::Emoticon;
my $emoticon = Text::Emoticon->new(MSN, { strict => 1, xhtml => 0 });
print $emoticon->filter(Hello ;));
Text::Emoticon is a factory class to dispatch MSN/YIM emoticon set. Its made to become handy to be used in other applications like Kwiki/MT plugins.
<<lessSYNOPSIS
use Text::Emoticon;
my $emoticon = Text::Emoticon->new(MSN, { strict => 1, xhtml => 0 });
print $emoticon->filter(Hello ;));
Text::Emoticon is a factory class to dispatch MSN/YIM emoticon set. Its made to become handy to be used in other applications like Kwiki/MT plugins.
Download (0.002MB)
Added: 2006-12-14 License: Perl Artistic License Price:
1050 downloads
Tartan text parser 0.1.0
Tartan is a text parsing engine targeted at wiki text. more>>
Tartan is a text parsing engine targeted at wiki text. The syntax specification is defined in YAML in the form of regex-based rules.
It supports layering and multiple output types. Rules for Markdown to HTML are included, with optional layered extensions for tables. Tartan text parser is implemented in Ruby, but looking to have implementations in other languages.
<<lessIt supports layering and multiple output types. Rules for Markdown to HTML are included, with optional layered extensions for tables. Tartan text parser is implemented in Ruby, but looking to have implementations in other languages.
Download (0.047MB)
Added: 2006-08-21 License: MIT/X Consortium License Price:
1159 downloads
Text::MessageFormat 0.01
Text::MessageFormat is a language neutral way to display messages. more>>
Text::MessageFormat is a language neutral way to display messages.
SYNOPSIS
use Text::MessageFormat;
my $form = Text::MessageFormat->new(The disk "{1}" contains {0} file(s).);
print $form->format(3, MyDisk);
# output: The disk "MyDisk" contains 3 file(s).
Text::MessageFormat is a Perl version of Javas java.text.MessageFormat and aims to be format-compatible with that class.
MesageFormat provides a means to produce concatenated messages in language-neutral way. Use this to construct messages displayed for end users.
See Data::Properties for java.util.Properties porting.
WARNINGS/TODO
Following FormatElements are all NOT implemented yet. Currently they interpolate exactly same as just {0}.
{0,number,#.##}
{0,date,short}
{0,time,hh:mm:ss}
{0,choice,0#are no files|1#is one file|1<<less
SYNOPSIS
use Text::MessageFormat;
my $form = Text::MessageFormat->new(The disk "{1}" contains {0} file(s).);
print $form->format(3, MyDisk);
# output: The disk "MyDisk" contains 3 file(s).
Text::MessageFormat is a Perl version of Javas java.text.MessageFormat and aims to be format-compatible with that class.
MesageFormat provides a means to produce concatenated messages in language-neutral way. Use this to construct messages displayed for end users.
See Data::Properties for java.util.Properties porting.
WARNINGS/TODO
Following FormatElements are all NOT implemented yet. Currently they interpolate exactly same as just {0}.
{0,number,#.##}
{0,date,short}
{0,time,hh:mm:ss}
{0,choice,0#are no files|1#is one file|1<<less
Download (0.003MB)
Added: 2007-06-14 License: Perl Artistic License Price:
862 downloads
Text::NSP::Measures 1.03
Text::NSP::Measures is a Perl module for computing association scores of Ngrams. more>>
Text::NSP::Measures is a Perl module for computing association scores of Ngrams. This module provides the basic framework for these measures.
SYNOPSIS
Basic Usage
use Text::NSP::Measures::2D::MI::ll;
my $npp = 60; my $n1p = 20; my $np1 = 20; my $n11 = 10;
$ll_value = calculateStatistic( n11=>$n11,
n1p=>$n1p,
np1=>$np1,
npp=>$npp);
if( ($errorCode = getErrorCode()))
{
print STDERR $errorCode." - ".getErrorMessage()."n"";
}
else
{
print getStatisticName."value for bigram is ".$ll_value."n"";
}
<<lessSYNOPSIS
Basic Usage
use Text::NSP::Measures::2D::MI::ll;
my $npp = 60; my $n1p = 20; my $np1 = 20; my $n11 = 10;
$ll_value = calculateStatistic( n11=>$n11,
n1p=>$n1p,
np1=>$np1,
npp=>$npp);
if( ($errorCode = getErrorCode()))
{
print STDERR $errorCode." - ".getErrorMessage()."n"";
}
else
{
print getStatisticName."value for bigram is ".$ll_value."n"";
}
Download (0.94MB)
Added: 2006-10-19 License: Perl Artistic License Price:
1100 downloads
Text Text Revolution 0.11
Text Text Revolution project is a text-based ncurses DDR clone. more>>
Text Text Revolution project is a text-based ncurses DDR clone.
Text Text Revolution is a text-based Dance Dance Revolution clone.
It supports pyDDRs .step file format (which has now been superceeded by the .dance format), and plans to stream OGG, MP3, or WAV files.
Enhancements:
- Joystick (DDR mat) support is working now. use the -j switch. Its currently hardcoded to use /dev/input/js0.
- Some graphics code was cleaned up, and it is now possible to specify the difficulty (--light, --standard, --hard, or -ln, where n is 1, 2, or 3).
<<lessText Text Revolution is a text-based Dance Dance Revolution clone.
It supports pyDDRs .step file format (which has now been superceeded by the .dance format), and plans to stream OGG, MP3, or WAV files.
Enhancements:
- Joystick (DDR mat) support is working now. use the -j switch. Its currently hardcoded to use /dev/input/js0.
- Some graphics code was cleaned up, and it is now possible to specify the difficulty (--light, --standard, --hard, or -ln, where n is 1, 2, or 3).
Download (0.044MB)
Added: 2006-12-08 License: GPL (GNU General Public License) Price:
1054 downloads
Java Parallel Processing Framework 1.0 Beta 1
Java Parallel Processing Framework is a set of tools and APIs to facilitate the parallelization of CPU intensive applications. more>>
Java Parallel Processing Framework is a set of tools and APIs to facilitate the parallelization of CPU intensive applications, and distribute their execution over a network of heterogenous nodes.
Java Parallel Processing Framework is intended to run in clusters and grids.
Main features:
- an API to delegate the processing of parallelized tasks to local and remote execution services
- a set of APIs and user interface tools to administrate and monitor execution services
- real-time adaptive load balancing capabilities
- scalability up to an arbitrary number of processing nodes
- support for failover and recovery
- limited intrusiveness for existing or legacy code
- a dynamic deployment mechanism, that enables the execution of new, or updated, code without having to deploy onto the grid
- fully documented APIs, administration guide and developer guide
- runs on any platform supporting Java 2 Platform Standard Edition 5.0 (J2SE 1.5)
Enhancements:
- JPPF is now licensed under the terms of the Apache License, Version 2.0. Starting from JPPF 1.0 beta1, all releases will be licensed under these terms.
- Prior versions will remain under the terms of the LGPL.
- For the first time, JPPF integrates seamlessly with J2EE. The JPPF Resource Adapter provides J2EE application servers with an access to native grid services.
- Numerous bug fixes, especially with regards to the distributed class loading mechanism.
<<lessJava Parallel Processing Framework is intended to run in clusters and grids.
Main features:
- an API to delegate the processing of parallelized tasks to local and remote execution services
- a set of APIs and user interface tools to administrate and monitor execution services
- real-time adaptive load balancing capabilities
- scalability up to an arbitrary number of processing nodes
- support for failover and recovery
- limited intrusiveness for existing or legacy code
- a dynamic deployment mechanism, that enables the execution of new, or updated, code without having to deploy onto the grid
- fully documented APIs, administration guide and developer guide
- runs on any platform supporting Java 2 Platform Standard Edition 5.0 (J2SE 1.5)
Enhancements:
- JPPF is now licensed under the terms of the Apache License, Version 2.0. Starting from JPPF 1.0 beta1, all releases will be licensed under these terms.
- Prior versions will remain under the terms of the LGPL.
- For the first time, JPPF integrates seamlessly with J2EE. The JPPF Resource Adapter provides J2EE application servers with an access to native grid services.
- Numerous bug fixes, especially with regards to the distributed class loading mechanism.
Download (7.8MB)
Added: 2007-07-31 License: The Apache License 2.0 Price:
816 downloads
Text::Quote 0.3
Text::Quote contains quotes strings as required for perl to eval them back correctly. more>>
Text::Quote contains quotes strings as required for perl to eval them back correctly.
SYNOPSIS
use Text::Quote;
my @quotes=map{$quoter->quote($_,indent=>6,col_width=>60)}(
"The time has come"
the walrus said,
"to speak of many things..."
," 123456abtn13fr16172021222324252627303132e34353637",
("6abtn13fr32e34" x 5),2/3,10,00);
for my $i (1..@quotes) {
print "$var$i=".$quotes[$i-1].";n";
}
Would produce:
$var1=qq"The time has come"ntthetwalrus said,nt"to speak of man.
qqy things...";
$var2=" 123456abtn13fr16172021222324252627".
"303132e34353637";
$var3=("6abtn13fr32e34" x 5);
$var4=0.666666666666667;
$var5=10;
$var6=00;
<<lessSYNOPSIS
use Text::Quote;
my @quotes=map{$quoter->quote($_,indent=>6,col_width=>60)}(
"The time has come"
the walrus said,
"to speak of many things..."
," 123456abtn13fr16172021222324252627303132e34353637",
("6abtn13fr32e34" x 5),2/3,10,00);
for my $i (1..@quotes) {
print "$var$i=".$quotes[$i-1].";n";
}
Would produce:
$var1=qq"The time has come"ntthetwalrus said,nt"to speak of man.
qqy things...";
$var2=" 123456abtn13fr16172021222324252627".
"303132e34353637";
$var3=("6abtn13fr32e34" x 5);
$var4=0.666666666666667;
$var5=10;
$var6=00;
Download (0.012MB)
Added: 2007-08-06 License: Perl Artistic License Price:
810 downloads
Text::Macro 0.07
Text::Macro Perl module is a template facility whos focus is on generating code such as c, java or sql. more>>
Text::Macro Perl module is a template facility whos focus is on generating code such as c, java or sql. While generating perl code is also possible, there is a potential conflict between the control-symbol and the perl comment symbol.
Perl is excelent at manipulating text, and it begs the question why one would need such a tool.
The answer is that good code design should be such that applications should not have to be modified so as to make configuration changes. Thus external configuration files/data is used. However, if these files are read in as perl-code, then simple errors could crash the whole application (or provide subtle security risks). Further, it is often desired to invert the control flow and text-data (namely, make the embedded strings primary, and control-flow secondary). This is the ASP model, and for 90% HTML, 10% code, this works great.
This module supports many control facilities which directly translate into perl-control facilities (e.g. inverting the ASP-style code back into perl-style behind the scenes). The inversion process is cached in a simple user object.
The module was initially inspired by Text::FastTemplate by Robert Lehr, whos module didnt completely fullfill my needs.
Main features:
- fast, simple, robust
- code-generating-centric feature-set
- substitutions stand-out from template
- macro-code embedded in text
- OOP
- external and internal includes (for clearifying complex control-flow)
- scoped variable-substitutions
- line-based processing (like cpp)
- usable error messages
<<lessPerl is excelent at manipulating text, and it begs the question why one would need such a tool.
The answer is that good code design should be such that applications should not have to be modified so as to make configuration changes. Thus external configuration files/data is used. However, if these files are read in as perl-code, then simple errors could crash the whole application (or provide subtle security risks). Further, it is often desired to invert the control flow and text-data (namely, make the embedded strings primary, and control-flow secondary). This is the ASP model, and for 90% HTML, 10% code, this works great.
This module supports many control facilities which directly translate into perl-control facilities (e.g. inverting the ASP-style code back into perl-style behind the scenes). The inversion process is cached in a simple user object.
The module was initially inspired by Text::FastTemplate by Robert Lehr, whos module didnt completely fullfill my needs.
Main features:
- fast, simple, robust
- code-generating-centric feature-set
- substitutions stand-out from template
- macro-code embedded in text
- OOP
- external and internal includes (for clearifying complex control-flow)
- scoped variable-substitutions
- line-based processing (like cpp)
- usable error messages
Download (0.012MB)
Added: 2007-05-31 License: Perl Artistic License Price:
877 downloads
Text::Ngrams 1.9
Text::Ngrams is a flexible Ngram analysis (for characters, words, and more). more>>
Text::Ngrams is a flexible Ngram analysis (for characters, words, and more).
SYNOPSIS
For default character n-gram analysis of string:
use Text::Ngrams;
my $ng3 = Text::Ngrams->new;
$ng3->process_text(abcdefg1235678hijklmnop);
print $ng3->to_string;
my @ngramsarray = $ng3->get_ngrams;
One can also feed tokens manually:
use Text::Ngrams;
my $ng3 = Text::Ngrams->new;
$ng3->feed_tokens(a);
$ng3->feed_tokens(b);
$ng3->feed_tokens(c);
$ng3->feed_tokens(d);
$ng3->feed_tokens(e);
$ng3->feed_tokens(f);
$ng3->feed_tokens(g);
$ng3->feed_tokens(h);
We can choose n-grams of various sizes, e.g.:
my $ng = Text::Ngrams->new( windowsize => 6 );
or different types of n-grams, e.g.:
my $ng = Text::Ngrams->new( type => byte );
my $ng = Text::Ngrams->new( type => word );
my $ng = Text::Ngrams->new( type => utf8 );
To process a list of files:
$ng->process_files(somefile.txt, otherfile.txt);
This module implement text n-gram analysis, supporting several types of analysis, including character and word n-grams.
The module Text::Ngrams is very flexible. For example, it allows a user to manually feed a sequence of any tokens. It handles several types of tokens (character, word), and also allows a lot of flexibility in automatic recognition and feed of tokens and the way they are combined in an n-gram. It counts all n-gram frequencies up to the maximal specified length. The output format is meant to be pretty much human-readable, while also loadable by the module.
The module can be used from the command line through the script ngrams.pl provided with the package.
Version restrictions:
- If a user customizes a type, it is possible that a resulting n-gram will be ambiguous. In this way, to different n-grams may be counted as one. With predefined types of n-grams, this should not happen. For example, if a user chooses that a token can contain a space, and uses space as an n-gram separator, then a trigram like this "x x x x" is ambiguous.
- Method process_file does not handle multi-line tokens by default. This can be fixed, but it does not seem to be worth the code complication. There are various ways around this if one really needs such tokens: One way is to preprocess them. Another way is to read as much text as necessary at a time then to use process_text, which does handle multi-line tokens.
<<lessSYNOPSIS
For default character n-gram analysis of string:
use Text::Ngrams;
my $ng3 = Text::Ngrams->new;
$ng3->process_text(abcdefg1235678hijklmnop);
print $ng3->to_string;
my @ngramsarray = $ng3->get_ngrams;
One can also feed tokens manually:
use Text::Ngrams;
my $ng3 = Text::Ngrams->new;
$ng3->feed_tokens(a);
$ng3->feed_tokens(b);
$ng3->feed_tokens(c);
$ng3->feed_tokens(d);
$ng3->feed_tokens(e);
$ng3->feed_tokens(f);
$ng3->feed_tokens(g);
$ng3->feed_tokens(h);
We can choose n-grams of various sizes, e.g.:
my $ng = Text::Ngrams->new( windowsize => 6 );
or different types of n-grams, e.g.:
my $ng = Text::Ngrams->new( type => byte );
my $ng = Text::Ngrams->new( type => word );
my $ng = Text::Ngrams->new( type => utf8 );
To process a list of files:
$ng->process_files(somefile.txt, otherfile.txt);
This module implement text n-gram analysis, supporting several types of analysis, including character and word n-grams.
The module Text::Ngrams is very flexible. For example, it allows a user to manually feed a sequence of any tokens. It handles several types of tokens (character, word), and also allows a lot of flexibility in automatic recognition and feed of tokens and the way they are combined in an n-gram. It counts all n-gram frequencies up to the maximal specified length. The output format is meant to be pretty much human-readable, while also loadable by the module.
The module can be used from the command line through the script ngrams.pl provided with the package.
Version restrictions:
- If a user customizes a type, it is possible that a resulting n-gram will be ambiguous. In this way, to different n-grams may be counted as one. With predefined types of n-grams, this should not happen. For example, if a user chooses that a token can contain a space, and uses space as an n-gram separator, then a trigram like this "x x x x" is ambiguous.
- Method process_file does not handle multi-line tokens by default. This can be fixed, but it does not seem to be worth the code complication. There are various ways around this if one really needs such tokens: One way is to preprocess them. Another way is to read as much text as necessary at a time then to use process_text, which does handle multi-line tokens.
Download (0.036MB)
Added: 2007-08-22 License: Perl Artistic License Price:
802 downloads
Text::NSP::Measures::2D::MI 1.03
Text::NSP::Measures::2D::MI is a Perl module that provides error checks for Loglieklihood. more>>
Text::NSP::Measures::2D::MI is a Perl module that provides error checks for Loglieklihood, Total Mutual Information, Pointwise Mutual Information and Poisson-Stirling Measure.
SYNOPSIS
Basic Usage
use Text::NSP::Measures::2D::MI::ll;
my $npp = 60; my $n1p = 20; my $np1 = 20; my $n11 = 10;
$ll_value = calculateStatistic( n11=>$n11,
n1p=>$n1p,
np1=>$np1,
npp=>$npp);
if( ($errorCode = getErrorCode()))
{
print STDERR $errorCode." - ".getErrorMessage()."n"";
}
else
{
print getStatisticName."value for bigram is ".$ll_value."n"";
}
<<lessSYNOPSIS
Basic Usage
use Text::NSP::Measures::2D::MI::ll;
my $npp = 60; my $n1p = 20; my $np1 = 20; my $n11 = 10;
$ll_value = calculateStatistic( n11=>$n11,
n1p=>$n1p,
np1=>$np1,
npp=>$npp);
if( ($errorCode = getErrorCode()))
{
print STDERR $errorCode." - ".getErrorMessage()."n"";
}
else
{
print getStatisticName."value for bigram is ".$ll_value."n"";
}
Download (0.93MB)
Added: 2007-03-13 License: Perl Artistic License Price:
955 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 text processing 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