Thread Zeilen einlesen und nach dritter Spalte sortieren
(48 answers)
Opened by leo11 at 2008-08-14 08:06 leo11+2008-08-24 14:07:40-- Je konkreter deine erste Problembeschreibung ist und je detailierter du beschreibst was du schon probiert hast, sowie wie deine Eingangsdaten aussehen und wie die Ausgangsdaten aussehen sollen, desto leichter ist es für uns dir gezielt zu helfen! Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @rows = map {chomp; $_} (<DATA>); print Dumper in_three_chunks(\@rows, 20); sub in_three_chunks { my $rows = shift; my $criteria = shift; return unless ref $rows or not $criteria =~ /^\d+$/; my %parted = ( before => [], matching => [], after => [] ); for my $row (@$rows) { my $cur = [split /;/, $row]; push @{$parted{'matching'}}, $cur and next if $cur->[2] == $criteria; unless (@{$parted{'matching'}}) { push @{$parted{'before'}}, $cur; } else { push @{$parted{'after'}}, $cur; } } return \%parted; } __DATA__ Zeile1;;100;; Zeile2;;60;; Zeile3;;20;; Zeile4;;20;; Zeile5;;40;; |