cleanup programming script
[Biblio-RFID.git] / scripts / program.pl
1 #!/usr/bin/perl
2
3 use warnings;
4 use strict;
5
6 use Data::Dump qw(dump);
7 use Getopt::Long;
8 use lib 'lib';
9 use Biblio::RFID::Reader;
10 use Biblio::RFID::RFID501;
11
12 my $reader;
13 my $afi;
14 my $debug = 0;
15
16 GetOptions(
17         'reader=s', => \$reader,
18         'afi=i',    => \$afi,
19         'debug+',   => \$debug,
20 ) || die $!;
21
22 my ( $sid, $content ) =  @ARGV;
23 die "usage: $0 [--reader regex_filter] [--afi 214] E0_RFID_SID [barcode]\n" unless $sid && ( $content | $afi );
24
25 my $rfid = Biblio::RFID::Reader->new( $reader );
26 $Biblio::RFID::debug = $debug;
27
28 foreach my $tag ( $rfid->tags ) {
29         warn "visible $tag\n";
30         next unless $tag eq $sid;
31         warn "PROGRAM $tag with $content\n";
32         $rfid->write_blocks( $tag => Biblio::RFID::RFID501->from_hash({ content => $content }) );
33         $rfid->write_afi(    $tag => chr($afi) ) if $afi;
34 }
35