>perl -wMstrict -MData::Dump -le "my @array_of_test_names = qw(ABCxyz ABCDEfoo ABCDbar); ;; my $mask = '';; $mask ^= $_ for @array_of_test_names;; dd $mask; ;; my $len; $mask =~ m[^(\0+)] and $len = length( $1 );; my $min = substr $array_of_test_names[ 0 ], 0, $len;; print qq{'$min'}; " "ABCx^}\35o" Use of uninitialized value $len in substr at -e line 1. ''