Je suis en train de modifier un script préexistant dans Xcode pour personnaliser mes en-têtes de fichiers. Le script est Perl et ce n'est pas ma meilleure langue. :)Comment formater des dates en Perl?
J'ai juste besoin d'insérer la date actuelle dans l'en-tête au format jj/mm/aa.
Voici mon 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;
Je viens modifié la commande d'impression alors ne me demandez pas pour le reste du code :)
strftime de POSIX est la bonne façon de formater des dates ... cela ou une autre classe pour le faire, comme Date :: Manip. – Powerlord
Date: Manip est très puissant, mais beaucoup de ses fonctionnalités ont des performances élevées. Pesonally, j'utilise normalement le premier exemple ici. – spoulson
@spoulson: Oui, la documentation Date :: Manip elle-même contient une section entière expliquant pourquoi vous n'avez généralement pas besoin de/want Date :: Manip. J'utilise généralement strftime de POSIX car il s'occupe automagiquement des détails que je pourrais sinon oublier ou gâcher (ajouter 1 au mois, 1900 à des années). – Telemachus