File: NewSubst.pm

package info (click to toggle)
libfilter-perl 1.50-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 612 kB
  • ctags: 759
  • sloc: perl: 654; makefile: 8
file content (44 lines) | stat: -rw-r--r-- 763 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package
  NewSubst ;
 
use Filter::Util::Call ;
use Carp ;
 
use strict ;
use warnings ;

sub filter
{
    my ($self) = @_ ;
    my ($status) ;
 
    if (($status = filter_read()) > 0) {
 
        $self->{Found} = 1
            if $self->{Found} == 0 and  /$self->{Start}/ ;
 
        if ($self->{Found}) {
            s/$self->{From}/$self->{To}/ ;
            filter_del() if /$self->{Stop}/ ;
        }
 
    }
    $status ;
}
 
sub import
{
    my ($self, @args) = @_ ;
    croak("usage: use Subst qw(start stop from to)")
        unless @args == 4 ;
 
    filter_add( { Start => $args[0],
                  Stop  => $args[1],
                  From  => $args[2],
                  To    => $args[3],
                  Found => 0 }
              ) ;
}
 
1 ;