Ich muss das letzte Element in jeder Zeile bekommen. Ich verwende perl
..Wie bekomme ich das letzte Element jeder Zeile in Perl?
1.25.56.524.2
2.56.25.254.3
2.54.28.264.2
Ich muss das letzte Element in jeder Zeile bekommen. Ich verwende perl
..Wie bekomme ich das letzte Element jeder Zeile in Perl?
1.25.56.524.2
2.56.25.254.3
2.54.28.264.2
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
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
Gerade split jede Zeile auf einen Punkt, hat letzte Element den Index -1 :
print +(split /\./)[-1] while <>;
Willkommen bei StackO verflow! Kannst du bitte posten, was du noch probiert hast? Bitte geben Sie ein [minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve) an. – FelixSFD