Server : Apache System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64 User : dh_edsupp ( 6597262) PHP Version : 8.2.26 Disable Function : NONE Directory : /bin/ |
Upload File : |
#!/usr/bin/perl =head1 NAME transform-fdt - transform .fdt files to new file format =head1 SYNOPSIS transform-fdt *.fdt =head1 DESCRIPTION We are going to change the file format slightly for .fdt files. This script will take files of the old format and rewrite them using the new format. Old files will be renamed to have a ".BAK" extension. Running this script multiple times against the same file should cause an error. NOTE: The file format has not changed yet, so you should not run this. It is for testing purposes for core developers only at this point. =cut use strict; use warnings; use File::Slurp; use Plucene::Store::InputStream; while (my $file = shift) { eval { my $back = $file . ".BAK"; local $SIG{__WARN__} = sub { die "$file already converted" }; my $in = Plucene::Store::InputStream->new($file); my $out = ""; while (!$in->eof) { my @docs = map [ $in->read_vint, $in->read_byte, $in->read_string ], 1 .. $in->read_vint; my $template = "w" . ("wCw/a*" x @docs); $out .= pack $template, scalar @docs, map @$_, @docs; } rename $file => $back; write_file $file, $out; }; warn $@ if $@; }