Возвращаемое значение system()
- это статус возврата команды, которую вы выполнили. Если вы хотите вывод, используйте backticks:
@array = `cat /path/example.txt | grep mail | awk -F, {print \$1} | awk -F= {print \$2}`;
При оценке в контексте списка (например, когда возвращаемое значение назначено массиву), вы получите строки вывода (или пустой список, если нет вывода).