Jump to content

Jautājiens par Perl regexp


Baigais Janka
 Share

Recommended Posts

Tātad, šitāda kode:

# Find IP of first Ethernet adapter interface
my $ipaddr = `ipconfig`;
my $iface_win = $ipaddr;

# $ipaddr =~ /(Ethernet adapter .*\d+\.\d+\.\d+\.\d+)/;
# $ipaddr = defined $1 ? $1 : '';

$ipaddr =~ /(\d+\.\d+\.\d+\.\d+)/;
$ipaddr = defined $1 ? $1 : '';

$iface_win =~ /(Ethernet adapter .*:)/;
$iface_win = defined $1 ? $1 : '';
$iface_win =~ s/Ethernet adapter |://g;

print "First Ethernet adapter interface: $iface_win\n    IP address: $ipaddr\n";

Strādā OK (uz Windows, kā redzams), bet pār mani nāca apgaismība, ka, ja gadījumā pirmais inerfeiss nebūs 'Ethernet adapter' tad IP būs no viņa, tātad nepareiza, a adaptera nosaukums būs pareizais. Piemetu divas rindiņas - tās, kas šobrīd nokomentētas. Mana doma - izķeksēt substringu, kas attiecas tikai uz pirmo Ethernet adapteri - līdz ip adresei. A neatrod :( Kas tai rindā ir neriktīgi? Es šobrīd intensīvi apgūstu Perlu, tāpēc citas iespējamās metodes ip iegūšanai neinteresē, šitas tiek darīts tikai treniņa nolūkos :)

  • Patīk 1
Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...