user5402 ответ правильный. Я просто хотел поделиться некоторыми возможностями Perl:
s/\s*$/.csv/, say for @source;
Или разделить, чтобы избежать возможных конфликтов:
s/\s*$/.csv/ for @source;
say for @source;
say
активируется с помощью use v5.10
или use feature qw(say)
и представляет собой просто print
с добавлением новой строки в конце.
Подстановка заменит любые пробелы, включая возврат каретки, в конце ваших строк на «.csv». Если пробелов нет, он просто добавит «.csv», поскольку квантификатор *
допускает нулевые совпадения, а якорь $
соответствует концу строки.
Один магический момент заключается в том, что $_
в псевдониме цикла связывается со всеми элементами @source
и, следовательно, постоянно изменяется подстановкой.