summaryrefslogtreecommitdiffstats
path: root/perl/examples/processor.pl
diff options
context:
space:
mode:
Diffstat (limited to 'perl/examples/processor.pl')
-rwxr-xr-xperl/examples/processor.pl35
1 files changed, 35 insertions, 0 deletions
diff --git a/perl/examples/processor.pl b/perl/examples/processor.pl
new file mode 100755
index 0000000..d2d1e91
--- /dev/null
+++ b/perl/examples/processor.pl
@@ -0,0 +1,35 @@
+#!/usr/bin/env perl
+use warnings;
+use strict;
+require Barcode::ZBar;
+
+# create a Processor
+my $proc = Barcode::ZBar::Processor->new();
+
+# configure the Processor
+$proc->parse_config("enable");
+
+# initialize the Processor
+$proc->init($ARGV[0] || '/dev/video0');
+
+# setup a callback
+sub my_handler {
+ my ($proc, $image, $closure) = @_;
+
+ # extract results
+ foreach my $symbol ($proc->get_results()) {
+ # do something useful with results
+ print('decoded ' . $symbol->get_type() .
+ ' symbol "' . $symbol->get_data() . "\"\n");
+ }
+}
+$proc->set_data_handler(\&my_handler);
+
+# enable the preview window
+$proc->set_visible();
+
+# initiate scanning
+$proc->set_active();
+
+# keep scanning until user provides key/mouse input
+$proc->user_wait();