1 2 3 4 5 6 7 8 9 10 11 12
local $/ = undef; # Datensatztrenner für Eingabe löschen my $data_line = <DATA>; # liest komplett die Daten aus dem Abschnitt __DATA__ (siehe unten!) in Variable my @data = split /[\n\s]/, $data_line; # Zahlen extrahieren print "Zahlen sind: ", join "\n",@data; # Zum Test wieder ausgeben __DATA__ 123 4567 901 234 567 9876 7865 7816 12211 12212 12992
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#!/usr/bin/perl use strict; use warnings; my $data_file="test.txt"; my @numbers=read_numbers($data_file); sub read_numbers { my $file=shift(@_) // return (); open(my $fh, '<', $file) or die "Error open $file ($!)\n"; # Zeilenenden ignorieren local $/=undef; # daten lesen und an leerzeichen/zeilenumbüchen splitten my @data=split(/[\x0A\x0D\s]+/,<$fh>); close($fh); return @data; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @ns; while(my $line = <DATA>) { $line =~ s/,/./; # we accept ',' as decimal point push @ns, $_ for ($line =~ /(-?\d+\.?\d*)/g); } die Dumper \@ns; __DATA__ 45.78 2598 11 11,4 79825 22 x y z 73