#!/usr/bin/perl while(<>){ print if m!(\d+)to(\d+)!i; print "$1\n"; print "$2\n"; } but when i add (.+) the variables ($1, $2) aren't diplayed the same: #!/usr/bin/perl while(<>){ print if m!(\d+).+to.+(\d+)!i; print "$1\n"; print "$2\n"; }