WareSeeker Search Software

microphone array


Sponsored Links
Collapse All
Software Name Software Type Category Price
1

Dual Microphone Array 1.2


windows Audio Multimedia->Other USD 35.00
View Detail
Download Dual Microphone Array 1.2Download Dual Microphone Array 1.2
4.4 MB
An application designed for the reduction of external hindrances and ambient noise

Microphone array solution (MAS) of speech enhancement can be used for reduction of external hindrances and ambient noises in speech source signal.

The technique uses dual microphones array configurations in its simplest form. By using acoustical beam-forming techniques, the microphone array can "focus" on the speakers position.

By knowing the speakers position, output from individual microphone can be combined in such a way as to add the separate signal contributions while canceling the noise contributions.

Microphone array solution can be effectively used:
· Wireless telephony systems;
· Mobile communications systems;
· Voice over IP (VoIP) telephony;
· And other voice communications systems.

Features of "Dual Microphone Array":

· Support 2 microphones configurations;
· Directional microphones: unidirectional configuration;
· Distance between microphones not less 4 cm;
· Far-field pickup up to 2 meters;
· Noise suppression of stationary noise up to 15 db and up to
· 18 db for non-stationary noise;
· High quality of speech enhancement;
· Low level of speech distortion;
· Fast adaptation to changing of external noises;
· Easy integration with target applications.


Requirements:

· Pentium-III class CPU;
· 64 Mb RAM;
· Soundcard;
· Headphones/Speakers;
· Microphone.

Signal requirement (Supported format):
· Windows PCM, 8, 16, 32 bits linear;
· 8 bits A/mu-Law PCM encoder;
· Microsoft ADPCM (MS ADPCM);
· Intel ADPCM (IMA ADPCM);
· Microsoft ACM GSM 6.10 (ACM Waveform)


Limitations:

· 30 days trial
· Only 25 seconds can be processed


2

Dual Microphone Array 1.21


windows Audio Multimedia->Audio Editors $35.00
View Detail
Download Dual Microphone Array 1.21Download Dual Microphone Array 1.21
4.77MB

GritTecs Dual microphone array solution of speech enhancement is used for the suppression of external hindrances and surrounding noises in chosen direction source of the speech. The sources of external hindrances can be an external noise of car, speech of collocutor, music and any other sounds, coming from directions, different from direction of the chosen source of the speech.

FEATURES:
- Support 2 microphones configurations;
- Directional microphones: unidirectional configuration;
- Distance between microphones not less 4 cm;
- Far-field pickup up to 2 meters;
- Noise suppression of stationary noise up to 15 db and up to 18 db for non-stationary noise;
- High quality of speech enhancement;
- Low level of speech distortion;
- Fast adaptation to changing of external noises;
- Easy integration with target applications.

SIGNAL REQUIREMENT (Supported format):
- Windows PCM, 8, 16, 32 bits linear;
- 8 bits A/mu-Law PCM encoder;
- Microsoft ADPCM (MS ADPCM);
- Intel ADPCM (IMA ADPCM);
- Microsoft ACM GSM 6.10 (ACM Waveform).

3

Hotair microphone game 11.08


windows Home Education->Kids Parenting Free
View Detail
Download Hotair microphone game 11.08Download Hotair microphone game 11.08
24KB

Hotair microphone game. Guy uses your voice level from the microphone object to control the altitude of the hot air balloon. with just a little more work, one could easily make this into a game. check out the cool dynamic shadow....

Hotair microphone game v11.08 release is Alpha.


4

XML 2 Array


script PHP $1.00
View Detail
Download XML 2 ArrayDownload XML 2 Array
The XML to Array PHP script takes the hard work out of constantly developing custom PHP code to parse an XML document. A simple call the the XML to Array function with the appropriate repeating level will call your user defined function to process the XML data in a convenient, simple to use PHP array.
5

Array 1.3


mac Multimedia Design->Graphics Free
View Detail
Download Array 1.3Download Array 1.3
1.5 MB
Array is an easy-to-use animation program. If you know the childrens toy where you poke transparent colored pegs through a backlit screen (LiteBrite), Array uses the same idea, but with multiple screens, to create animation.

You color points on a sequence of frames. There are various functions to manipulate the points. You can play, save, and reload your animation. You can export your animation as a Flash movie.

6

Array Basics


script ASP Free
View Detail
Download Array BasicsDownload Array Basics
Introductory tutorial on the basics of arrays as well as the LBound, UBound, and Split functions that are commonly used with arrays. Tutorial includes code snippets.
7

Mobiola Microphone S60 3rd Edition 1.0


pda Multimedia->Audio 9.95 $ to buy
View Detail
Download Mobiola Microphone S60 3rd Edition 1.0Download Mobiola Microphone S60 3rd Edition 1.0
5.05 MB
Mobiola Microphone - turn your mobile phone into a high quality Blueooth or USB microphone for your PC! Use it with Skype, Yahoo, IM and many other applications.

Here are some key features of "Mobiola Microphone (S60 3rd Edition)":

· Turns mobile phone into a high quality microphone for PC
· Connects over Bluetooth or USB
· Audio driver is compatible with all major microphone using applications

Limitations:

· Trial version limits single connections to 5 minutes and has 7 days evaluation period.

Requirements:

· Symbian S60 3rd Edition

8

Array::Iterator 0.06


linux Programming->Libraries Free
View Detail
Download Array::Iterator 0.06Download Array::Iterator 0.06
0.010 MB
Array::Iterator is a simple class for iterating over Perl arrays.

SYNOPSIS

use Array::Iterator;

# create an iterator with an array
my $i = Array::Iterator->new(1 .. 100);

# create an iterator with an array reference
my $i = Array::Iterator->new(@array);

# create an iterator with a hash reference
my $i = Array::Iterator->new({ __array__ => @array });

# a base iterator example
while ($i->hasNext()) {
if ($i->peek() < 50) {
# ... do something because
# the next element is over 50
}
my $current = $i->next();
# ... do something with current
}

# shortcut style
my @accumulation;
push @accumulation => { item => $iterator->next() } while $iterator->hasNext();

# C++ ish style iterator
for (my $i = Array::Iterator->new(@array); $i->hasNext(); $i->next()) {
my $current = $i->current();
# .. do something with current
}

# common perl iterator idiom
my $current;
while ($current = $i->getNext()) {
# ... do something with $current
}

This class provides a very simple iterator interface. It is is uni-directional and can only be used once. It provides no means of reverseing or reseting the iterator. It is not recommended to alter the array during iteration, however no attempt is made to enforce this (although I will if I can find an efficient means of doing so). This class only intends to provide a clear and simple means of generic iteration, nothing more (yet).


9

Array::Utils 0.3


linux Programming->Libraries Free
View Detail
Download Array::Utils 0.3Download Array::Utils 0.3
0.002 MB
Array::Utils module contains small utils for array manipulation.

SYNOPSIS

use Array::Utils qw(:all);

my @a = qw( a b c d );
my @b = qw( c d e f );

# symmetric difference
my @diff = array_diff(@a, @b);

# intersection
my @isect = intersect(@a, @b);

# unique union
my @unique = unique(@a, @b);

# check if arrays contain same members

if ( !array_diff(@a, @b) ) {
# do something
}

FUNCTIONS

unique

Returns an array of unique items in the arguments list.

intersect

Returns an intersection of two arrays passed as arguments.

array_diff

Return symmetric difference of two arrays passed as arguments


10

XML to array


script PHP Free
View Detail
Download XML to arrayDownload XML to array
Just a simple few functions to help you convert a xml feed into an array to make it so much easier to handle.
11

Array-util 1.0


linux System->Monitoring Free
View Detail
Download Array-util 1.0Download Array-util 1.0
0.021 MB
Array-util project was tested on: It gives you an overview of all logical and physical drives, including basic information on sizes etc. It is supposed to become a configuration tool in the future. Note that it only works with SmartArray driver version 1.0.1+

Array-util project was tested on:

· Compaq Proliant 2500 with SmartArray 2DH
· Compaq Proliant 1600 with SmartArray 2DH
· Compaq Proliant ML350 with an additional Smart Array 431-Controller (thanks to Christian Bauer)
· Compaq Proliant DL380 with Internal SmartArray controller (thanks to Jason Sturgeon)
· Compaq Proliant ML370 with Integrated SmartArray (thanks to Brian Rossmeisl)
· Compaq Proliant 5500 with a SmartArray 3200 (thanks to Andrew A. Neuschwander)
· Compaq Proliant 1850R with a SmartArray 3200 (thanks to Brian Towles)
· Compaq Proliant 6400R with a SmartArray 3200 (thanks to Brian Towles)
· Compaq Proliant 3000 with a SmartArray 3200 (thanks to Brian Towles)
· Compaq Proliant DL580 with two SmartArray 4200 (thanks to Dietmar Stein)

Known bugs:

Array-util: Blinking is not working on a DL380.
Array-util: Hotspares are not listed in array-util.
Array-util: There is no progess indicator of the rebuild process.


12

Panopticum Array 1.6


mac Multimedia Design->Graphics $80
View Detail
Download Panopticum Array 1.6Download Panopticum Array 1.6
4 MB
Panopticum Array is an After Effects plug-in that adds motion filters to images.

Arrary
The main purpose of the Panopticum Array module is multiple copying of layers from your After Effects project with progressive changing of their geometric properties. Here you may create very sophisticated geometric patterns that may be used either for further use in your composition or for transparency masks. Those masks you might want to use in cutting through of other objects, layers or texts.

Digital Matrix
This module was made for creation of backgrounds composed of numbers and letters. The background figures may float, change according to preset law (suddenly or fluently by morphing). You can assign your own set of matrix elements, their size, font, color, etc. You can also change the interval between matrix lines and columns, regulate number of layers in three-dimensional array, its depth, perspective, etc.

Digital Chaos
With the help of this module you will be able to create beautiful animated scenes containing random arrangement of text symbols or colorful balls.


13

AVL Array 1.2


linux Programming->Assembler Tools Free
View Detail
Download AVL Array 1.2Download AVL Array 1.2
0.070 MB
AVL Array is an STL-like container for C++ that fills the gap between vector (or deque) and list, providing both fast random access and fast insertion/removal, all O(log n).

This is not a map; in an avl_array, the "keys" always range from 0 to size-1, and they automatically change on insertion or removal. As a sequence container, like vector and list, it respects the order of elements.

Whats New in This Release:

· documentation
· source reorganized for readability
· compliance with higher standards
· performance improvements


14

Array::PatternMatcher 0.04


linux Programming->Libraries Free
View Detail
Download Array::PatternMatcher 0.04Download Array::PatternMatcher 0.04
0.006 MB
Array::PatternMatcher is a pattern matching for arrays.

SYNOPSIS

This section inlines the entire test suite. Please excuse the ok()s.

use Array::PatternMatcher;

Matching logical variables to input stream

# 1 - simple match of logical variable to input
my $pattern = AGE ;
my $input = 969 ;
my $result = pat_match ($pattern, $input, {} ) ;
ok($result->{AGE}, 969) ;

# 2 - if binding exists, it must equal the input
$input = 12;
my $new_result = pat_match ($pattern, $input, $result) ;
ok(!defined($new_result)) ;

# 3 - bind the pattern logical variables to the input list

$pattern = [qw(X Y)] ;
$input = [ 77, 45 ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok($result->{X}, 77) ;
Matching segments (quantifying) portions of the input stream
# 1
{
my $pattern = [a, [qw(X *)], d] ;
my $input = [a, b, c, d] ;

my $result = pat_match ($pattern, $input, {} ) ;
ok ("@{$result->{X}}","b c") ;
}

# 2
{

my $pattern = [a, [qw(X *)], [qw(Y *)], d] ;
my $input = [a, b, c, d] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("@{$result->{Y}}","b c") ;

}
# 3
{
my $pattern = [a, [qw(X +)], d] ;
my $input = [a, b, c, d] ;
ok ("@{$result->{X}}","b c") ;
}
# 4
{
my $pattern = [ a, [qw(X ?)], c ] ;
my $input = [ a, b, c ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("$result->{X}","b") ;
}
# 5
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 7) ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ($result) ;
}
Single-matching:
Take a single input and a series of patterns and decide which pattern
matches the input:

# 1 - Here all input patterns must match the input

{
my @pattern ;
push @pattern, [ qw(X Y) ] ;
push @pattern, [ qw(22 Z ) ] ;
push @pattern, [ qw(M 33) ] ;

my $input = [ qw(22 33) ] ;

my $meta_pattern = [ AND?, @pattern ] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok ($result->{Z},33) ;
}

# 2 - Here, any one of the patterns must match the input

{
my @pattern ;
push @pattern, [ qw(99 22) ] ;
push @pattern, [ qw(33 22) ] ;
push @pattern, [ qw(44 3) ] ;
push @pattern, [ qw(22 Z) ] ;

my $input = [ qw(22 33) ] ;

my $meta_pattern = [ OR?, @pattern ] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok ($result->{Z},33) ;
}

# 3 - Here, none of the patterns must match the input

{
my @pattern ;
push @pattern, [ qw(99 22) ] ;
push @pattern, [ qw(33 22) ] ;
push @pattern, [ qw(44 3) ] ;
push @pattern, [ qw(22 Z) ] ;

my $input = [ qw(22 33) ] ;

my $meta_pattern = [ NOT?, @pattern ] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok (scalar keys %$result == 0) ;
}

# 4 - here the input must satisfy the predicate
{
sub numberp { $_[0] =~ /d+/ }

my $pattern = [ qw(X age), [qw(IS? N), νmberp] ] ;
my $input = [ qw(Mary age), thirty-four ] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
ok (!defined($result));
}

# 5 - same thing, but this time a failing result ---
# not undef because it is the return val of numberp
{
sub numberp { $_[0] =~ /d+/ }

my $pattern = [ qw(X age), [qw(IS? N), νmberp] ] ;
my $input = [ qw(Mary age), 34 ] ;
my $result = pat_match ($pattern, $input, {} ) ;

ok ($result->{N},34) ;
}
Segment-matching:
Match a chunk of the input stream using *, +, ?

# 1 - * is greedy in this case, but not with 2 consecutve * patterns
{
my $pattern = [a, [qw(X *)], d] ;
my $input = [a, b, c, d] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "X*RETVAL: %s", Data::Dumper::Dumper($result) ;
ok ("@{$result->{X}}","b c") ;
}
# 2 - X* gets nothing, Y* gets all it can:
{

my $pattern = [a, [qw(X *)], [qw(Y *)], d] ;
my $input = [a, b, c, d] ;

# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "X*Y*RETVAL: %s", Data::Dumper::Dumper($result) ;
ok ("@{$result->{Y}}","b c") ;

}
# 3 - samething , but require at least one match for X
{
my $pattern = [a, [qw(X +)], d] ;
my $input = [a, b, c, d] ;

my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "RETVAL: @{$result->{X}}" ;
ok ("@{$result->{X}}","b c") ;
}
# 4 - require 0 or 1 match for X
{
my $pattern = [ a, [qw(X ?)], c ] ;
my $input = [ a, b, c ] ;


my $result = pat_match ($pattern, $input, {} ) ;

ok ("$result->{X}","b") ;
}
# 5 - evaluate a sub on the fly after match
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 7) ] ;

my $result = pat_match ($pattern, $input, {} ) ;

ok ($result) ;
}
# --- 6 same thing, but fail
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 8) ] ;

my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "IF_RETVAL2: *%s*", Data::Dumper::Dumper($result);
ok ($result eq ) ;
}


15

Tie::Array::PackedC 0.03


linux Programming->Libraries Free
View Detail
Download Tie::Array::PackedC 0.03Download Tie::Array::PackedC 0.03
0.006 MB
Tie::Array::PackedC is a tie a Perl array to a C-style array (packed; elements of a single, simple data type).

SYNOPSIS

use Tie::Array::PackedC qw(packed_array packed_array_string);
my $ref=packed_array(1,2,3,4);
my $ref2=packed_array_string(my $s,1,2,3,4);

use Tie::Array::PackedC Double=>d;
tie my @array,Tie::Array::PackedC::Double,1..10;
$array[0]=1.141;

Provides a perl array interface into a string containing a C style array. In other words the string is equivelent to the string that would be returned from the equivelent pack command (defaulting to pack type "l!") using a normal array of the same values. Eg:

my @foo=(1..10);
my $string=pack "l!*",@foo;

leaves $string in basically the same condition as

my (@foo,$string);
tie @foo,Tie::Array::PackedC,$string,1..10;

Its only basically the same and not exactly the same because the tie version may be longer due to preallocation.


16

Tie::Array::RestrictUpdates 0.01


linux Programming->Libraries Free
View Detail
Download Tie::Array::RestrictUpdates 0.01Download Tie::Array::RestrictUpdates 0.01
0.003 MB
Tie::Array::RestrictUpdates can limit the number of times you change elements in an array.

SYNOPSIS

use Tie::Array::RestrictUpdates;

tie @foo,"Tie::Array::RestrictUpdates",1;
# Default limit is 1.
# Every element from the array can only be changed once
@foo = qw(A B C D E);
for(0..4) { $foo[$_] = lc $foo[$_]; }
print join("-",@foo);
# This will print A-B-C-D-E and a bunch of warnings

-or-

use Tie::Array::RestrictUpdates;

tie @foo,"Tie::Array::RestrictUpdates",[1,2,3,4];
# This forces the limits of the first 3 indexes
# This also forces any extra elements from the array to have a 0 limit
# and therefor be unchangable/unsettable
@foo = qw(A B C D E);
for(0..3) { $foo[$_] = lc $foo[$_]; }
for(0..3) { $foo[$_] = uc $foo[$_]; }
for(0..3) { $foo[$_] = lc $foo[$_]; }
for(0..3) { $foo[$_] = uc $foo[$_]; }
print join("-",@foo);
# This will print A-b-C-d and a bunch of warnings


17

Tie::FlatFile::Array 0.03


linux Programming->Libraries Free
View Detail
Download Tie::FlatFile::Array 0.03Download Tie::FlatFile::Array 0.03
0.005 MB
Tie::FlatFile::Array is a Perl extension which treats a flatfile database as an array of arrays.

This module allows the programmer to treat a flatfile database as as array of arrays. For example, lets say you have a datafile that has fixed-length records like so:

Field-name Type
URL ASCII characters, length 30
Referals Integer, 4 bytes, binary in network order

If you were going to use pack to create a record like this, youd use a format string of A30N. Since Tie::FlatFile::Array does the packing and unpacking behind the scenes, you would use that pack format string in the call to tie:

tie @flat, Tie::FlatFile::Array, data.file,
O_RDWR | O_CREAT, 0644, { packformat => A30N }
or die("Tie failure: $!");

To insert an item into the data file, you would assign an array reference to one of the arrays elements like so:

$flat[0] = [ www.yahoo.com, 3601 ];


18

Detailed PHP array tutorial


script PHP Free
View Detail
Download Detailed PHP array tutorialDownload Detailed PHP array tutorial
In this tutorial I will show you how to work with arrays in PHP. You will learn how to create, sort or print an array. Besides this we will touch on multidimensional arrays as well.
19

Array to List


script PHP Free Additional Info: You can use it for any perpose
View Detail
Download Array to ListDownload Array to List
This class can be used to display an HTML list of entries from nested array. It traverses the array and display its entries and items of an unordered HTML list. Entries that have array values are displayed as nested lists. Entries with other types of values can be displayed optionally with the values followed by the entry indexes. The type of list and list item can also be configurable.
20

Set::Array 0.14


linux Programming->Libraries Free
View Detail
Download Set::Array 0.14Download Set::Array 0.14
0.023 MB
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


My Software


You have not saved any software. Click "Save" next to each software to save it to your software basket