use warnings; use strict; while () { s|^(?:)?(.*?)(?:)?$|$1|; print } __DATA__ List item 1 List item 2 List item a List item b List item c List item 3