use strict; use warnings 'all'; my $str = do {local $/ = undef; }; my @Rec = $str =~ /-+\s+show switchname\s+-+[^\w]+(\w+)/ig; print "$_\n" for @Rec; #### __DATA__ show tech-support details -------------------- show switchname ------------------ CCC217_ANG_GREEN ****************************************************************** show tech-support details -------------------- show switchname ------------------ CCC218_ANG_GREEN ****************************************************************** show tech-support details -------------------- show switchname ------------------ CCC219_ANG_GREEN ****************************************************************** show tech-support details -------------------- show switchname ------------------ CCC220_ANG_GREEN ****************************************************************** #### CCC217_ANG_GREEN CCC218_ANG_GREEN CCC219_ANG_GREEN CCC220_ANG_GREEN