Net::Route3pm
Portable interface to the routing table
Usage
use Net::Route::Table;my $table_ref = Net::Route::Table->from_system();my $route_ref = $table_ref->default_route();print "Default gateway: ", $route_ref->gateway(), "\n";
Version
Version 0.02, $Revision: 372 $
Overview
The Net::Route Module
Every OS provides its custom interface to the routing table: Linux' "route" utility is different from BSD's "route show", from Windows' "route print", etc. Parsing all these different output styles in an (otherwise portable) script can quickly become inconvenient.
Net::Route abstracts the system specifics and provides a single, portable interface.
The Net::Route Class
Net::Route objects represent single entries from a Net::Route::Table.
Interface
This documents Net::Route as a class. To know how to use the module, refer to the synopsis or Net::Route::Table (the entry point from a user perspective).
Object Methods
destination()
gateway()
metric()
interface()
is_active()
is_dynamic()
Installing dependencies on sun solaris systems with GCC
The perl interpreter shipped with Solaris was compiled with Sun's proprietary C compiler, and therefore attempts to compile XS modules with the same tool and options. However, Solaris comes by default with the GNU C Compiler ("gcc") only, which has its own set of incompatible command-line arguments. Mixing these two to compile "XS" Perl modules doesn't work.
Therefore, when you need to install CPAN modules (such as Net::Route's dependencies) which make use of "XS" (C code) on a system without the Sun C Compiler, you have to use the wrapper script provided by Sun which will invoke "gcc" correctly (replace "Module" as needed):
/usr/perl5/bin/perlgcc -MCPAN -e 'install Module'.
Status and roadmap
Please refer to the Changes file for a detailed history.
0.01 - First Public Release
Net::Route meets our goals for a first public release:
•
|
It can list all routes |
|---|---|
•
|
It can get the default route |
•
|
It can provide the most common characteristics of routes |
•
|
It is portable on Linux, Solaris and Windows |
Net::Route is used in other Straton IT (<http://en.straton-it.fr/>) software, such as Cancerbero 0.7 (<http://en.straton-it.fr/open-source/cancerbero-07>) and Confdump/Sys (<http://confdump.sourceforge.net/>).
0.xx - Community Releases
These releases will include features and bugfixes suggested, reported and/or contributed by the community. For example:
- •
-
Differentiating between
"Net::Route"-as-a-class and"Net::Route"-as-a-module
- •
-
Support for more operating systems
- •
-
Getting rid of CPAN dependencies that are troublesome to install on some platforms.
- •
-
Your idea (<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-Route>) here...
The API might change somewhat, if necessary.
1.0 - API Freeze
When appropriate (according to the user reports), we will freeze the interface and release version 1.0.
Support
You can find documentation for this module with the perldoc command.
perldoc Net::Route
You can also look for information at:
- •
-
RT: CPAN's request tracker
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-Route>
- •
-
AnnoCPAN: Annotated CPAN documentation
<http://annocpan.org/dist/Net-Route>
- •
-
CPAN Ratings
<http://cpanratings.perl.org/d/Net-Route>
- •
-
Search CPAN
<http://search.cpan.org/dist/Net-Route>
License and copyright
Copyright (C) 2009 Straton IT.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Releases
5 releases since Debian 9 (Stretch); the text changed 2 times.