## name vars pragma
## failures 0
## cut

use vars qw(%foo);
print 42;

## name Data::Dumper;
## failures 1
## cut

use Data::Dumper qw<Dumper>;
print 42;

## name Getopt::Long config
## failures 0
## cut

use Getopt::Long qw(:config bundling);
print 42;

## name Read
## failures 0
## cut

use Encode       qw( decode );
my $val = decode ("utf-16be", $val);

## name Bin
## failures 0
## cut

use FindBin qw( $RealBin );
my $prog = $RealBin . "/../foo.pl";

## name used in ternary op
## failures 0
## cut

use Foo qw( FOO BAR BAZ );

my $fb = hoi () ? FOO :
         hai () ? BAR :
         hui () ? BAZ ;

## name Importer syntax. 1
## failures 1
## cut

use Importer 'Foo' => qw( BAR );
print 42;

## name Importer syntax. 2
## failures 2
## cut

use Importer 'Foo' => qw( BAR QUX );
print 42;

## todo Importer syntax. List of str
## failures 2
## cut

use Importer 'Foo' => ( 'BAR', 'QUX' );
print 42;

## todo General syntax. List of str
## failures 2
## cut

use Foo ('BAR', 'QUX');
print 42;

## name Exporter
## failures 0
## cut

use Exporter qw/import/;
print 42;

## name Test::Requires
## failures 0
## cut

use Test::Requires qw/DBI/;
print 42;

## name subroutine ref
## failures 0
## cut

use Encode qw( decode );
my $ref = \&decode;

## name $Bin. issue 19
## failures 0
## cut

use FindBin qw( $Bin );
use lib "$Bin/../../../../";
my $bar;

## name $Bin. issue 19.
## failures 0
## cut

use FindBin qw( $Bin );
use lib $Bin . "/../../../../";

## name $Bin in interpolated string in print. issue 19.
## failures 0
## cut

use FindBin qw( $Bin );
my $bar;
print "Here it is: $Bin";

## name re-exporting is a form of using. with @EXPORT_OK. github issue 18.
## failures 0
## cut

use Foo qw( foo $bar @baz );
our @EXPORT_OK = qw(foo $bar @baz);

## name re-exporting is a form of using. with @EXPORT. github issue 18.
## failures 0
## cut

use Foo qw( foo $bar @baz );
our @EXPORT = qw(foo $bar @baz);

## name re-exporting. with code sample from github issue 18.
## failures 0
## cut

use Mojo::JSON qw(decode_json encode_json);

  {
      our @EXPORT_OK = qw(
          decode_json
          encode_json
      );
  }

## name other var assigments with symbols in their literal forms should not be counted as usage
## failures 3
## cut

use Foo qw(foo $bar @baz);
my @foo = qw(foo $bar @baz);