#!/usr/bin/env perl -l use strict; use warnings; while () { if (/\s([#]\S)(.*)/) { print 'MATCH: TRUE'; if ($1 && $2) { print '$1 && $2: TRUE'; } else { print '$1 && $2: FALSE'; } print "\$1='$1'"; print "\$2='$2'"; } else { print 'MATCH: FALSE'; } } __DATA__ 123/; #< 456/; #< a comment #### MATCH: TRUE $1 && $2: FALSE $1='#<' $2='' MATCH: TRUE $1 && $2: TRUE $1='#<' $2=' a comment'