my $string = "foo.bar.foobar"; my $count = 2; my @splits = reverse map {scalar reverse} split(/\./,reverse($string),$count); # --> @splits = qw/ foo.bar foobar / $string = "foo.bar.foobar.baz.biff"; $count = 3; @splits = reverse map {scalar reverse} split(/\./,reverse($string),$count); # --> @splits = qw/ foo.bar.foobar baz biff /