#!/usr/bin/perl -w
# feed the list with stdin,
# and param for fully random.
use strict;
my ( %vendor, $lladdr, $i ); $\ = "\n";
my $c = ( defined $ARGV
0 ) ? 10 : 6;
if( $c == 6 )
{
while ( <STDIN> )
{ chomp $_;
$_ =~ s/^(
0-9a-f {2} ) (?: \s | : ) ?
(
0-9a-f {2} ) (?: \s | : ) ?
(
0-9a-f {2} ) (?: (?: \s* ) |
(?: (?: \s+ ) ( .+ ) ) ? )$/
$vendor{ "$1:$2:$3" } = $4 || 'N\/A';
/eix;
} close STDIN;
my @keys = keys % vendor or exit ( 1 );
$lladdr = $keys
rand @keys ;
print "Vendor: $vendor{ $lladdr }";
}
else { $lladdr = '00'; }
while ( ++$i )
{ last if $i > $c; $lladdr .= ':' if $i % 2;
$lladdr .= sprintf "%" . ( qw (X x)
int
( rand ( 2 ) ) ), int ( rand ( 16 ) );
}
print "lladdr: $lladdr";
exit ( 0 );