Bug 18309: Add UNIMARC field 214 and its subfields
[koha.git] / misc / batchdeletebiblios.pl
blobbcfd74ec1c10fb0c728dd2b7e09e1c289f99e5b5
1 #!/usr/bin/perl
3 use Modern::Perl;
4 use Getopt::Long;
5 use Pod::Usage;
6 use IO::File;
8 use Koha::Script;
9 use C4::Biblio;
11 my ($help, $files);
12 GetOptions(
13 'h|help' => \$help,
16 pod2usage(1) if $help or not @ARGV;
18 for my $file ( @ARGV ) {
19 say "Find biblionumber in file $file";
20 my $fh;
21 open($fh, '<', $file) or say "Error: '$file' $!" and next;
23 while ( <$fh> ) {
24 my $biblionumber = $_;
25 $biblionumber =~ s/$1/\n/g if $biblionumber =~ m/(\r\n?|\n\r?)/;
26 chomp $biblionumber;
27 my $dbh = C4::Context->dbh;
28 next if not $biblionumber =~ /^\d*$/;
29 print "Delete biblionumber $biblionumber ";
30 my $error;
31 eval {
32 $error = DelBiblio $biblionumber;
34 if ( $@ or $error) {
35 say "KO $@ ($! | $error)";
36 } else {
37 say "OK";
42 exit(0);
44 __END__
46 =head1 NAME
48 batchdeletebiblios.pl
50 =head1 SYNOPSIS
52 ./batchdeletebiblio.pl file1 [file2 ... filen]
54 This script batch deletes biblios which contain a biblionumber present in file passed in parameter.
55 If one biblio has items, it is not deleted.
57 =head1 OPTIONS
59 =over 8
61 =item B<-h|--help>
63 prints this help message
65 =back
67 =head1 AUTHOR
69 Jonathan Druart <jonathan.druart@biblibre.com>
71 =head1 COPYRIGHT
73 Copyright 2012 BibLibre
75 =head1 LICENSE
77 This file is part of Koha.
79 Koha is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software
80 Foundation; either version 2 of the License, or (at your option) any later version.
82 You should have received a copy of the GNU General Public License along
83 with Koha; if not, write to the Free Software Foundation, Inc.,
84 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
86 =head1 DISCLAIMER OF WARRANTY
88 Koha is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
89 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
91 =cut