2016-10-31 5 views

Antwort

0

Ich gehe davon aus, indem letztes Element, das Sie den letzten Wert von . getrennt bedeuten. Werfen Sie einen Blick auf diesen Code:

use strict; 
my @last_values;      # UPDATE: initialize array 
for my $line (<DATA>) {     # read line by line 
    chomp $line;      # remove newline at the end 
    my @fields = split '\.', $line;  # split to fields 
    my $last = pop @fields;    # get last field 
    print $last."\n"; 
    push @last_values, $last;   # UPDATE: store last field in array 
} 

__DATA__ 
1.25.56.524.2 
2.56.25.254.3 
2.54.28.264.2 

Ausgang:

2 
3 
2 
0

Eine Möglichkeit wäre:

use strict; 
use warnings; 

my @Result;     # Array holding the results 

while (<DATA>)    # whatever you use to provide the lines... 
{ 
    chomp;     # good practice, usually necessary for STDIN 
    my @Tokens = split(/\./); # assuming that "." is the separator 
    push(@Result , $Tokens[-1]); 
} 

__DATA__ 
1.25.56.524.2 
2.56.25.254.3 
2.54.28.264.2 
4

Gerade split jede Zeile auf einen Punkt, hat letzte Element den Index -1 :

print +(split /\./)[-1] while <>; 
Verwandte Themen