sourCEntral - mobile manpages




Slurm::Hostlist - Hostlist functions in libslurm


use Slurm;
$hostnames = "node1,node[2-5,12]";
$hl = Slurm::Hostlist::create($hostnames);
$cnt = $hl->count;
while($host = $hl->shift()) {
print $host, "\n";
print $hl->ranged_string(), "\n";


The Slurm::Hostlist class is a wrapper of the hostlist functions in libslurm. This package is loaded and bootstrapped with package Slurm.


$hl = Slurm::Hostlist::new($str);
Create a new hostlist from a string representation. Returns an opaque hostlist object. This is a CLASS METHOD .

The string representation ($str) may contain one or more hostnames or bracketed hostlists separated by either ’,’ or whitespace. A bracketed hostlist is denoted by a common prefix followed by a list of numeric ranges contained within brackets: e.g. "tux[0-5,12,20-25]".

To support systems with 3-D topography, a rectangular prism may be described using two three digit numbers separated by "x": e.g. "bgl[123x456]". This selects all nodes between 1 and 4 inclusive in the first dimension, between 2 and 5 in the second, and between 3 and 6 in the third dimension for a total of 4*4*4=64 nodes.

If $str is omitted, and empty hostlist is created and returned.

$cnt = $hl->count();
Return the number of hosts in the hostlist.

$pos = $hl->find($hostname);
Searches hostlist $hl for the first host matching $hostname and returns position in list if found.

Returns -1 if host is not found.

$cnt = $hl->push($hosts);
Push a string representation of hostnames onto a hostlist. The $hosts argument may take the same form as in create().

Returns the number of hostnames inserted into the list,

$cnt = $hl->push_host($hostname);
Push a single host onto the hostlist hl.

This function is more efficient than slurm_hostlist_push() for a single hostname, since the argument does not need to be checked for ranges.

Return value is 1 for success, 0 for failure.

$str = $hl->ranged_string();
Return the string representation of the hostlist $hl. ranged_string() will write a bracketed hostlist representation where possible.

$host = $hl->shift();
Returns the string representation of the first host in the hostlist or ’undef’ if the hostlist is empty or there was an error allocating memory. The host is removed from the hostlist.

Sort the hostlist $hl and remove duplicate entries.




This library is created by Hongjia Cao, <hjcao( AT )> and Danny Auble, <da( AT )>. It is distributed with SLURM.


This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.