#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @rows = map {chomp; $_} (); print Dumper \@rows; my @filtered = grep { $_->[2] == 20 } map { [split /;/, $_] } @rows; print Dumper \@filtered; __DATA__ Zeile1;;100;; Zeile2;;60;; Zeile3;;20;; Zeile4;;20;; Zeile5;;40;;