my @paragraph = map { local $_ = lc; tr/-~//cd; /foobar/ ? () : do { s/administrator/admin/g; length() > 60 ? () : $_ } } grep /^#/, @lines; #### my @paragraph = map { if ( /^#/ ) { () } else { local $_ = lc; tr/-~//cd; if ( /foobar/ ) { (); } else { s/administration/admin/g; length() > 60 ? () : $_; } } /^#/ ? do { } : (); } @lines;