---
name: "stag-handle"
section: "1p"
platform: "linux"
package: "libdata-stag-perl"
version: "0.14-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/stag-handle"
---

# stag-handle(1p)

streams a stag file through a handler into a writer

## NAME

stag-handle - streams a stag file through a handler into a writer

## SYNOPSIS

```
  stag-handle -w itext -c my-handler.pl myfile.xml > processed.itext
  stag-handle -w itext -p My::Parser -m My::Handler myfile.xml > processed.itext
```

## DESCRIPTION

will take a Stag compatible format (xml, sxpr or itext), turn the data into an event stream passing it through my-handler.pl

## ARGUMENTS

- \-help\|h

  shows this document

- \-module\|m PERLMODULE

  A module that is used to transform the input events the module should inherit from Data::Stag::BaseHandler

- \-unit\|u NODE\_NAME

  (you should always use this option if you specify -m)

  this is the unit that gets passed to the handler/transformer. this will get set automatically if you use the the -c, -s or -t options

  multiple units can be set

  ```
    -u foo -u bar -u boz
  ```

- \-writer\|w WRITER

  writer for final transformed tree; can be xml, sxpr or itext

- \-module\|m MODULE

  perl modules for handling events

- \-codefile\|c FILE

  a file containing a perlhashref containing event handlers - see below

- \-sub\|s PERL

  a perl hashref containing handlers

- \-trap\|t ELEMENT=SUB

  ## EXAMPLES

```
  unix> cat my-handler.pl
  {
    person => sub {
        my ($self, $person) = @_;
        $person->set_fullname($person->get_firstname . ' ' .
                           $person->get_lastname);
        $person;
    },
    address => sub {
        my ($self, $address) = @_;
        # remove addresses altogether from processed file
        return;
    },
  }
```
