The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.

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 behaviuor depending on your tasks.

getNode( $addr )

Takes FTN address as argument. Address can be feed in 3D style only (Zone:Net/Node).

Returns FTN::Nodelist::Node object if node can be found in nodelist. See FTN::Nodelist::Node manual 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');

KNOWN ISSUES

When using wildcard in nodediff 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>

COPYRIGHT

Copyright (c) 2005 Serguei Trouchelle. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.