
#!/usr/bin/perl
POSIX qw(strftime);
my $time = strftime("%YT%mT%d TTTT%H:%M", localtime);
print ("Todays date and time is $time\n");
Estou um pouco enferrujado em regex, qual seria um padrão para pesquisar e substituir a seguinte saída. 2014T03T21 TTTT15:37? Eu só gostaria que a data fosse exibida. Se você conhece um método diferente de regex, isso também seria ótimo.
Responder1
Você pode usar esse regex para corresponder ao padrão fornecido e os grupos de captura entre parênteses para escolher os três componentes desejados:
(\d{4})T(\d{2})T(\d{2}) TTTT\d{2}:\d{2}
Isso irá capturar o ano, mês e data. Ao fazer a correspondência, você pode atribuí-los a três variáveis usando a seguinte sintaxe:
$time =~ m/(\d{4})T(\d{2})T(\d{2}) TTTT\d{2}:\d{2}/;
my ($year, $month, $day) = ($1, $2, $3);
Existem muitas ferramentas online que irão expandir e explicar os padrões regex.