use strictures; use open qw( :std :utf8 ); my $corpus = do { local $/; }; my @bibs; push @bibs, $corpus =~ m{(.+?)}sg; s/[^\S ]+/ /g for @bibs; # Normalize whitespace. if ( @bibs ) { print "Found...\n"; print "\t* $_\n" for @bibs; } else { print "No love.\n"; } __DATA__ In fact, Falco (2012) today Louise is hardly isolated. More than 5 million babies have been born using the procedure, which has become almost routine. And at the age of 28, Louise became a mother herself, giving birth to a baby boy name Cameron—conceived, by the way, in the old-fashioned way (Falco, 2012; ICMRT, 2012). #### Found... * Falco (2012) * Falco, 2012 * ICMRT, 2012