Ich modifiziere ein bereits existierendes Skript in Xcode, um meine Dateiheader anzupassen. Das Skript ist Perl und es ist nicht meine beste Sprache. :)Wie formatiere ich Datumsangaben in Perl?
Ich muss nur das aktuelle Datum in der Kopfzeile in TT/MM/JJ-Format einfügen.
Hier ist mein Skript:
#! /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;
Ich habe gerade den Druckbefehl geändert, so fragen Sie mich nicht für den Rest des Codes :)
POSIX's strftime ist die richtige Art Daten zu formatieren ... das oder eine andere Klasse, wie Date :: Manip. – Powerlord
Datum :: Manip ist sehr mächtig, aber viele seiner Funktionen haben hohe Leistungseinbußen. Pesonisch verwende ich normalerweise das erste Beispiel hier. – spoulson
@spoulson: Yup, die Date :: Manip-Dokumentation selbst hat einen ganzen Abschnitt, der erklärt, warum du Date :: Manip im Allgemeinen nicht brauchst/willst. Normalerweise benutze ich POSIX's strftime, da es sich automatisch um die Details kümmert, die ich sonst vergessen oder vermasseln könnte (addiere 1 zu Monat, 1900 zu Jahren). – Telemachus