# Perl modules. Alien::ElasticSearch v 0.05 and ElasticSearch.pm v 0.03

**URL:** <https://discuss.elastic.co/t/perl-modules-alien-elasticsearch-v-0-05-and-elasticsearch-pm-v-0-03/2825>\
**Category:** Elasticsearch\
**Created:** [February 21, 2010, 6:40pm UTC](https://discuss.elastic.co/t/perl-modules-alien-elasticsearch-v-0-05-and-elasticsearch-pm-v-0-03/2825 "2010-02-21T18:40:27Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Clinton\_Gormley](https://avatars.discourse-cdn.com/v4/letter/c/50afbb/32.png) [@Clinton\_Gormley](https://discuss.elastic.co/u/Clinton_Gormley)\
**Post date:** [February 21, 2010, 6:40pm UTC](https://discuss.elastic.co/t/perl-modules-alien-elasticsearch-v-0-05-and-elasticsearch-pm-v-0-03/2825/1 "2010-02-21T18:40:27Z")

</div>

Just released Alien::ElasticSearch v 0.05 ( [http://search.cpan.org/perldoc?Alien::ElasticSearch](http://search.cpan.org/perldoc?Alien::ElasticSearch)  
) on its way to a CPAN near you.

This downloads, builds and installs the latest version of  
ElasticSearch GitHub, which makes a live server available for  
automated testing of....

ElasticSearch.pm v 0.03 ([http://search.cpan.org/perldoc](http://search.cpan.org/perldoc)?  
ElasticSearch), also on its way to a CPAN near you.

This version is completely rewritten to to make it easier to extend  
later (more like one big dispatch table), and has improved debugging,  
usage messages, errors etc.

Try: (with a server running on localhost)

```
   use ElasticSearch;
   my $e = ElasticSearch->new(
         servers => '127.0.0.1:9200',
         trace_calls => 1,
   );

   $e->nodes;

```

... prints to STDERR:

```
curl -XGET 'http://127.0.0.2:9200/_cluster/nodes'
# {
# "clusterName" : "elasticsearch",
# "nodes" : {
# "getafix-25528" : {
# "httpAddress" : "inet[/127.0.0.2:9200]",
# "dataNode" : true,
# "transportAddress" : "inet[getafix.traveljury.com/

```

127.0.  
# \> 0.2:9300]",  
# "name" : "Miguel Espinosa"  
# }  
# }  
# }

ie, the `curl` command which allows you rerun your requests directly  
from the command line, and the ElasticServer response, commented out.

And a test suite, which has helped to find a number of issues (now  
fixed) in ElasticSearch itself.

I'm thinking of adding an ElasticSearch::QueryBuilder to make it  
easier to generate the right query structure that Lucene and  
derivatives expect. (See  
[http://groups.google.com/a/elasticsearch.com/group/users/browse\_thread/thread/4443e364e543bb53#](http://groups.google.com/a/elasticsearch.com/group/users/browse_thread/thread/4443e364e543bb53#)  
for an example of just how convoluted the query structure can be -  
note, that was my first attempt at a query, not sure if it is correct  
or not)

clint

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 4:25am UTC](https://discuss.elastic.co/t/perl-modules-alien-elasticsearch-v-0-05-and-elasticsearch-pm-v-0-03/2825/2 "2017-07-06T04:25:35Z")

</div>


