Вы получаете совпадение и заменить в замешательстве. Матч правильный, и вы отвечаете с первой группой захвата. тем не менее, вы не заменяете текст после и включая группу 2 "([)".
вы хотите сопоставить и напечатать
cat file-containing-pattern.txt | perl -ne 'm/.*\s(.*)\[/ and print $1;'
или вы можете заменить все, кроме совпадения
cat file-containing-pattern.txt | perl -pe 's/.*\s(.*)\[.*/$1/;'