#!/usr/bin/perl use strict; use warnings; use Data::Dumper; $Data::Dumper::Useqq = 1; my $segmente = q( "nodes": [ 272447305, 272447306, 272447307, 272447308, 272447305 ]); my @zahlen; @zahlen = $segmente =~ /"nodes": \[\s+(\d+),\n\s+(\d+)/; print Dumper \@zahlen; # => entspricht der Erwartung, die ersten beiden Zahlen landen im Array. @zahlen = $segmente =~ /"nodes": \[(?:\s+(\d+),?\n)+/g; print Dumper \@zahlen; # => klappt nicht. Wieso landet nur die erste Zahl im Array, und nicht alle?