# 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