Как распечатать доступные сетевые карты в Perl? - PullRequest
0 голосов
/ 23 сентября 2010

Мне было интересно, возможно ли на самом деле распечатать доступные карты Ethernet, которые есть на машине с Linux? До сих пор я читал о "Grep" из команды "ifconfig".

Нужно ли использовать «Net :: IP» или «IO :: Socket»? Я новичок в этом языке программирования, поэтому кто-то может дать совет, как это сделать?

Извините, что сбили вас с толку! Но мне нужно, чтобы скрипт выводил как «eth0» или «eth1» непосредственно в терминале после исключения сценария perl.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 23 сентября 2010

Посмотрите на Net :: Address :: Ethernet .
Это может быть просто переносимая оболочка для ifconfig / ipconfig.Хотя я бы не стал сильно беспокоиться об этом, потому что в любом случае вы не можете избежать вызова ОС здесь - так что вызов ifconfig, вероятно, так же хорош, как и любой другой вариант.несколько других модулей , вероятно, стоит посмотреть.

UPD.Если вам нужны только имена интерфейсов, вы также можете прочитать файл / proc / net / dev.В современном linux он должен быть, а структуру файла довольно легко разобрать.

0 голосов
/ 23 сентября 2010

Если вы программируете только для GNU / Linux или * BSD, вы можете использовать "grep" из "ifconfig".

...