The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
package SomeObserver;

use strict;
use vars qw($VERSION);

$VERSION = '0.01';

my @observations = ();

sub get_observations {
    return @observations;
}

sub clear_observations {
    @observations = ();
}

sub update {
    my ( $class, $workflow, $action, @extra ) = @_;
    push @observations, [ 'class', $workflow, $action, @extra ];
}

sub other_sub {
    my ( $workflow, $action, @extra ) = @_;
    push @observations, [ 'sub', $workflow, $action, @extra ];
}

1;