NAME

   Text::Find::Scalar - Find scalar names in a text.

VERSION

   version 0.10

SYNOPSIS

     use Text::Find::Scalar;

     my $finder = Text::Find::Scalar->new();
     my $arrayref = $finder->find($string);

     # or

     $finder->find($string);
     while($finder->hasNext()){
       print $finder->nextElement();
     }

DESCRIPTION

   This class helps to find all scalar variables in a text. It is
   recommended to use PPI to parse Perl programs. This module should help
   to find SCALAR names e.g. in error messages.

   Scalars that should be found:

     * double quoted

       "$foo"

     * references

       $foo->{bar}

     * elements of arrays

       $array[0]

   Scalars that are not covered

     * single quoted

       '$foo'

EXAMPLE

     #!/usr/bin/perl

     use strict;
     use warnings;

     use Text::Find::Scalar;

     my $string = q~This is a $variable
            another $variable and another "$eine", but '$no' is not found.
            A $reference->{$key} is found. An array element $array[0]
            is also found~;

     my $finder = Text::Find::Scalar->new();
     my @scalars = $finder->find($string);

     print $_,"\n" for(@scalars);

   prints

     /homes/reneeb/community>find_scalar.pl
     $variable
     $variable
     $eine
     $reference->{$key}
     $array[0]

METHODS

new

     my $finder = Text::Find::Scalar->new();

   creates a new Text::Find::Scalar object.

find

     my $string = q~Test $test $foo '$bar'~;
     my $arrayref = $finder->find($string);
     my @found    = $finder->find($string);

   parses the text and returns an arrayref that contains all matches.

hasNext

     while($finder->hasNext()){
       print $finder->nextElement();
     }

   returns 1 unless the user walked through all matches.

nextElement

     print $finder->nextElement();
     print $finder->nextElement();

   returns the next element in list.

unique

     my $uniquenames = $finder->unique();

   returns an arrayref with a list of all scalars, but each match appears
   just once.

count

     my $counter = $finder->count('$foo');

   returns the number of appearances of one scalar.

AUTHOR

   Renee Baecker <[email protected]>

COPYRIGHT AND LICENSE

   This software is copyright (c) 2016 by Renee Baecker.

   This is free software; you can redistribute it and/or modify it under
   the same terms as the Perl 5 programming language system itself.