The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

PPI::Statement::Scheduled - A scheduled code block

INHERITANCE

  PPI::Statement::Scheduled
  isa PPI::Statement
      isa PPI::Node
          isa PPI::Element

DESCRIPTION

A scheduled code block is one that is intended to be run at a specific time during the loading process.

There are four types of scheduled block:

  BEGIN {
        # Executes as soon as this block is fully defined
        ...
  }
  
  CHECK {
        # Executes after compile-phase in reverse order
        ...
  }
  
  INIT {
        # Executes just before run-time
        ...
  }
  
  END {
        # Executes as late as possible in reverse order
        ...
  }

Technically these scheduled blocks are actually subroutines, and in fact may have 'sub' in front of them.

METHODS

type

The type method returns the type of scheduled block, which should always be one of 'BEGIN', 'CHECK', 'INIT' or 'END'.

block

With its name and implementation shared with PPI::Statement::Sub, the block method finds and returns the actual Structure object of the block for this scheduled block.

Returns false if it cannot find a block (although why this might happen I'm not sure).

TO DO

- Write unit tests for this package

SUPPORT

See the support section in the main module

AUTHOR

Adam Kennedy, http://ali.as/, cpan@ali.as

COPYRIGHT

Copyright (c) 2001 - 2005 Adam Kennedy. All rights reserved.

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

The full text of the license can be found in the LICENSE file included with this module.