Acme-RFC4824
view release on metacpan or search on metacpan
lib/Acme/RFC4824.pm view on Meta::CPAN
XEOF
return 1;
}
sub decode {
my $self = shift;
my $arg_ref = shift;
my $frame = $arg_ref->{FRAME};
if (! defined $frame) {
croak "You need to pass a frame to be decoded.";
}
my $last_frame_undo = rindex $frame, 'T';
if ($last_frame_undo > 0) {
# if a FUN was found, take everything to the right to be the
# new frame.
$frame = 'Q' . substr($frame, $last_frame_undo + 2);
}
while ($frame =~ m{ (.*) [^S]S (.*) }xms) {
# delete the signal before a 'S' (SUN, signal undo)
$frame = $1 . $2;
( run in 0.228 second using v1.01-cache-2.11-cpan-26ccb49234f )