package Syntax::Stride; syntax { slice: array '[' stride ']' { # implement this. } stride: expr ':' expr ':' expr { # and this. } expr: slice } # end of syntax package main; use Syntax::Stride; @a = (1..100); print @a[1:2:50];