#!/usr/bin/perl use warnings; use strict; use autodie; use Data::Dump qw(dump); $|=1; # flush stdout my $debug = $ENV{DEBUG} || 0; use lib 'lib'; use name2mac; my $mac2name = $name2mac::mac2name; sub mac2name { my ( $mac, $name ) = @_; $mac = lc($mac); if ( exists $mac2name->{$mac} ) { my $mac_name = $mac2name->{$mac}; warn "ERROR: name different $name != $mac_name" if $name && $name ne $mac_name; #return ( $mac, $mac_name ); return $mac . ' ' . $mac_name; } #return ( $mac, $name ); return $mac; } warn "# mac2name = ",dump($mac2name) if $debug; sub fix_mac { my $mac = shift; $mac = lc($mac); $mac =~ s/^([0-9a-f]):/0$1:/; while ( $mac =~ s/:([0-9a-f]):/:0$1:/g ) {}; $mac =~ s/:([0-9a-f])$/:0$1/; # warn "# $mac\n"; return $mac; } while(<>) { s/((:?[0-9A-Fa-f]{2}[:-]){5}(:?[0-9A-Fa-f]{2}))/mac2name($1)/ge; print; }