Как уже отмечали другие, вы можете использовать split()
, чтобы делать то, что вы просите. Но мне интересно, действительно ли то, что вы просите, является лучшим подходом.
Я не знаю, зачем вам нужны три разные переменные, но я бы посоветовал это, когда у вас есть дата и вы хотите получить доступ к разным частям из этого, тогда обычно лучше создать объект.
use Time::Piece;
my $date = Time::Piece->strptime('2019-08-20');
Затем вы можете получить отдельные элементы, которые вы хотите;
say $date->year;
say $date->mon;
say $date->mday;
Но вы также можете получить другие потенциально полезные вещи:
say $date->month; # August
say $date->day; # Tuesday
Или вы можете использовать strftime()
для переформатирования даты:
say $date->strftime('%A, %d %B %Y'); # Monday, 20 August 2019
С помощью Time :: Piece * 1018 вы можете сделать гораздо больше *.