Add the following packages libalgorithm-diff-perl libspiffy-perl libtext-diff-perl...
[pkg-perl] / deb-src / libfilter-perl / libfilter-perl-1.34 / examples / method / NewSubst.pm
diff --git a/deb-src/libfilter-perl/libfilter-perl-1.34/examples/method/NewSubst.pm b/deb-src/libfilter-perl/libfilter-perl-1.34/examples/method/NewSubst.pm
new file mode 100644 (file)
index 0000000..8eae2e8
--- /dev/null
@@ -0,0 +1,43 @@
+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 ;
+