while ($s =~ /(.*?)\|(.*?)\|(.*?)\|/g) { print "$1\t$2\t$3\n"; } #### while ($s =~ /((?:.*?\|){3})/g) { print "$1\n"; } #### local $/ = "|"; # set input record separator while (<>) { print $_, scalar <>, scalar <>, "\n"; } #### local $/ = "|"; while (<>) { print; print "\n" unless $. % 3; }