# Get everything between B and D: perl -lwe 'print join " ", grep scalar(/B/../D/), qw(A B C D E F)' # prints: # B C D #### # Get everything between up to D: perl -lwe 'print join " ", grep scalar(1../D/), qw(A B C D E F)' # prints: # Use of uninitialized value in range (or flip) at -e line 1. # Use of uninitialized value in range (or flip) at -e line 1. # Use of uninitialized value in range (or flip) at -e line 1. # Use of uninitialized value in range (or flip) at -e line 1. # Use of uninitialized value in range (or flip) at -e line 1. # Use of uninitialized value in range (or flip) at -e line 1. #### # Get everything up to and D: perl -lwe 'print join " ", grep scalar(/./../D/), qw(A B C D E F)' # prints: # A B C D E F #### # Get everything up to D: perl -lwe 'print join " ", map scalar(/./../D/), qw(A B C D E F)' # prints: # 1 2 3 4E0 1 2