NAME
App::iosdiff - Cisco IOS Config Diff
SYNOPSIS
use App::iosdiff qw/diff/;
my @output = diff({
left => 'from_this_file',
right => 'to_this_file',
});
if (scalar @output == 0) {
print "no differences!\n";
}
else {
print @output;
}
DESCRIPTION
This library provides one subroutine to run an intelligent context aware diff between two files in Cisco IOS-style configuration format.
Whilst an ordinary diff works on IOS-style configuration files, it doesn't show the context in a useful way. For example if one line changes within an interface configuration, you're likely not to see the interface name in a standard 3-line contextual diff. This program improves that by showing the full context of any difference.
In terms of IOS-style configuration, this context means either the "section" such as an interface or class-map (a header with indented lines), or the command group such as an access control list, where the lines share common leading text.
USAGE
See the above "SYNOPSIS" for an example.
Lines in the files which are comments (begin with "!
") will be stripped from the file before the comparison is made.
SEE ALSO
The iosdiff program is bundled with this library and provides a command line interface for printing the differences between two files.
AUTHOR
Oliver Gorwits <oliver@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by University of Oxford.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.