#!perl use v5.10; use strict; use warnings; my $objects = "12345"; sub f { print join('|', @_) . "\n"; } $objects =~ /^(.+)(.+)(.+)$ (?{ f($1, $2, $3) }) (*FAIL) /x;