#!/usr/bin/perl -w use strict; my $string = "foo.bar.foobar"; my @array = rev_split($string, '.', 2); print "$_\n" foreach (@array); sub rev_split { return 0 unless (@_ > 1); my ($string , $split , $quantity) = @_; $string = reverse($string); $split =~ /^(.)/; $split = quotemeta $split; my @things = $quantity ? split /$split/ , $string , $quantity : split /$split/ , $string; $_ = reverse($_) foreach(@things); return @things; }