Sto modificando uno script preesistente in Xcode per personalizzare le intestazioni dei miei file. La sceneggiatura è Perl e non è la mia migliore lingua. :)Come posso formattare le date in Perl?
Ho solo bisogno di inserire la data corrente nell'intestazione in formato gg/mm/aa.
Ecco il mio script:
#! /usr/bin/perl -w
# Insert HeaderDoc comment for a header
#
# Inserts a template HeaderDoc comment for the header.
use strict;
# get path to document
my $headerPath = <<'HEADERPATH';
%%%{PBXFilePath}%%%
HEADERPATH
chomp $headerPath;
my $rootFileName = &rootFileNameFromPath($headerPath);
print "/*";
print " * $rootFileName\n";
print " * Project\n";
print " *\n";
print " * Created by Me on ";
# in bash it would be something like that :
# date +%d/%m/%y | awk '{printf "%s\n", $1}';
print " * Copyright 2009 My_companie. All rights reserved.\n";
print " *\n";
print " */\n";
sub rootFileNameFromPath {
my $path = shift;
my @pathParts = split (m'/', $path);
my $filename = pop (@pathParts);
my $rootFileName = "$filename";
$rootFileName =~ s/\.h$//;
return $rootFileName;
}
exit 0;
Ho appena modificato il comando di stampa in modo da non chiedetemi per il resto del codice :)
Lo strptime di POSIX è il modo corretto per formattare le date ... quella o un'altra classe per farlo, come Date :: Manip. – Powerlord
Date :: Manip è molto potente, ma molte delle sue funzionalità hanno una penalizzazione ad alte prestazioni. Pesonalmente, di solito uso il primo esempio qui. – spoulson
@spoulson: Sì, la documentazione Date :: Manip ha un'intera sezione che spiega perché in genere non è necessario/desidera Date :: Manip. Generalmente uso lo strftime di POSIX poiché si occupa automagicamente dei dettagli che altrimenti potrei dimenticare o rovinare (aggiungere 1 al mese, 1900 a anni). – Telemachus