#!/usr/bin/perl -w use strict; $"='ox'x5, $_="1 2 3\n4 5 6\n7 8 9 " {$^=chop$" print"$_$^ =>" {<>=~/^(\d)$/i&&s/$1/$^/m or redo} (m/^($^.){3}|($^.{5}){2}$^|$^.{7}$^.{7}$^|^.(...$^){3}/smx|$.>8) or redo}y/0-9/-/; print