#!/usr/bin/perl
-#use strict;
-#use warnings; FIXME - Bug 2505
+use Modern::Perl;
BEGIN {
# find Koha's Perl modules
# test carefully before changing this
- use FindBin;
+ use FindBin ();
eval { require "$FindBin::Bin/../../kohalib.pl" };
}
use C4::Context;
use MARC::File::XML(BinaryEncoding=>"utf8");
-use MARC::Record;
use C4::AuthoritiesMarc;
-use POSIX;
+use POSIX qw( close localtime open sprintf time );
MARC::File::XML::default_record_format("UNIMARCAUTH");
my $dbh = C4::Context->dbh;
my $rq= $dbh->prepare(qq|
#ATTENTION : Mettre la base en utf8 auparavant.
#BEWARE : Set database into utf8 before.
while (my ($authid)=$rq->fetchrow){
-open FILEOUTPUT,">:utf8", "./$filename/$authid.xml" or die "unable to open $filename";
+open my $fileoutput, '>:encoding(UTF-8)', "./$filename/$authid.xml" or die "unable to open $filename";
my $record=AUTHgetauthority($dbh,$authid);
if (! utf8::is_utf8($record)) {
utf8::decode($record);
# if (C4::Context->preference('marcflavour') eq "UNIMARC"){
$record->leader(' nac 22 1u 4500');
- my $string=$1 if $time=~m/([0-9\-]+)/;
+ my @time = localtime(time);
+ my $time = sprintf('%04d%02d%02d', $time[5] + 1900, $time[4] + 1, $time[3]);
+ my $string = ($time=~m/([0-9\-]+)/) ? $1 : undef;
$string=~s/\-//g;
$string = sprintf("%-*s",26, $string);
substr($string,9,6,"frey50");
# } else {
# $record->encoding( 'UTF-8' );
# }
- print FILEOUTPUT $record->as_xml();
-close FILEOUPUT;
+ print {$fileoutput} $record->as_xml();
+close $fileoutput;
}