NAME
FTN::Nodelist - Process FTN nodelist
SYNOPSIS
my $ndl = new FTN::Nodelist(-file => '/fido/var/ndl/nodelist.*');
if (my $node = $ndl->getNode('2:550/4077')) {
print $node->sysop();
} else {
warn 'Cannot find node';
}
DESCRIPTION
FTN::Nodelist
contains functions that can be used to process Fidonet Technology Network nodelist and pointlist.
METHODS
new
This method creates FTN::Nodelist
object. Can get following arguments:
Nodelist file path:
-file => '/path/to/nodelist'
Path can point to definite file (ex.: '/var/ndl/nodelist.357'
) or contain wildcard (.*) instead of digital extension. Maximum extension value will be used to find exact nodelist (ex.: '/var/ndl/nodelist.*'
)
Cacheable status:
-cache => 0/1
Default is 1. When cacheable status is set to 1, all search results are stored in object cache. It saves resources when searching the same address, but eats memory to store results. Choose appropriate behaviour depending on your tasks.
getNode( $addr )
Takes FTN address as argument. Address can be feed in 3D or 4D style (Zone:Net/Node, Zone:Net/Node.Point).
If 4D style is specified, point address is searching.
Returns FTN::Nodelist::Node
object if node can be found in nodelist.
See FTN::Nodelist::Node for details how these results can be used.
Examples:
my $node = $ndl->getNode('2:550/0');
my $node = $ndl->getNode('2:2/0');
my $node = $ndl->getNode('2:550/4077');
my $node = $ndl->getNode('2:550/4077.101');
KNOWN ISSUES
When using wildcard in nodelist path, maximum extension is taken into account. It may bring to wrong results when there are many nodelist files and current nodelist has lesser number (for example, nodelist.365
and nodelist.006
).
This issue may be resolved in next versions of FTN::Nodelist
.
AUTHORS
Serguei Trouchelle <stro@railways.dp.ua> Robert James Clay <jame@rocasa.us>
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
COPYRIGHT
Copyright (c) 2005-2007 Serguei Trouchelle. All rights reserved. Copyright (c) 2013 Robert James Clay. All rights reserved.