printf( "\n$_: " ), m[A( [^Z]+)Z] and print "'$1'" for 'AZ', 'A SOMETHING Z', 'ASOMETHINGZ', 'A Z';; AZ: A SOMETHING Z: ' SOMETHING ' ASOMETHINGZ: A Z: ' '