#!/usr/bin/perl use v5.12; use warnings; my @matrix = (["A1", "A2", "A3", "A4", "vw", "A5"], ["B1", "B2", "B3", "B4", "skoda", "B6"], ["C1", "C2", "C3", "C4", "scoda", "C6"], ["D1", "D2", "D3", "D4", "toyota", "D6"], ["E1", "E2", "E3", "E4", "ford", "E6"], ["F1", "F2", "F3", "F4", "renault", "F5"] ); sub bubble_sort{my $spalte = shift; my $getauscht = 0; my $zaehler = 0; for my $j (0..$#matrix){ for my $i (0..$#matrix-1){ if ($matrix[$i]->[$spalte] gt $matrix[$i+1]->[$spalte]){ ($matrix[$i], $matrix[$i+1]) = ($matrix[$i+1], $matrix[$i]); $getauscht = 1; $zaehler++; } } if (!$getauscht){last;} } say "\n\nSuch-Durchgaenge $zaehler"; } say "Vor dem Sortieren"; for my $i (0..5){ say "$matrix[$i]->[0] > $matrix[$i]->[4]"; } bubble_sort(4); # "4" weil die Matrix nach der Spalte 4 sortiert werden soll say "\n\nNach dem Sortieren"; for (my $i=0; $i<=5; $i++){ say "$matrix[$i]->[0] > $matrix[$i]->[4]"; } print "\n\n";