Thread Can't locate object method "interfaces" via package "Net::Interface" ? (13 answers)
Opened by introdev at 2019-10-04 16:00

introdev
 2019-10-04 16:54
#190624 #190624
User since
2018-11-20
29 Artikel
BenutzerIn
[default_avatar]
Was von mir aus gesehen RICHTIG GUTER Code ist, und nicht abhängig von irgendwelchen Perl-Packages und auch nicht von Linux-Befehlen wie "ifconfig" oder "ip", ist das was nur mit 1 Punkt bewertet wird auf der gleichen StackOverflow-Seite: https://stackoverflow.com/questions/4101219/how-ca...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl
use strict;
use warnings;
use Socket;
require 'sys/ioctl.ph';

print get_interface_address('eth0');

sub get_interface_address
{
my ($iface) = @_;
my $socket;
socket($socket, PF_INET, SOCK_STREAM, (getprotobyname('tcp'))[2]) || die "unable to create a socket: $!\n";
my $buf = pack('a256', $iface);
if (ioctl($socket, SIOCGIFADDR(), $buf) && (my @address = unpack('x20 C4', $buf)))
{
return join('.', @address);
}
return undef;
}



Zumindest für Linux...;-)
Freundliche Grüsse,
Jan

View full thread Can't locate object method "interfaces" via package "Net::Interface" ?