#!/usr/bin/perl sub ar2list ($) { return @{ $_[0] }; } sub push_aref ($@) { CORE::push( @{+shift} , @_ ); } package XSigils; use Filter::Simple; FILTER { warn "\n\n\n --- Before Transformation: \n$_"; s{ push (\s|\() (\s*) €} {push_aref$1$2€}xg; s{ \@ \s* €} {ar2list €}xg; # 2array s{ €(\w+)\[ } {\$$1->\[}xg; # dereference s{ €(\w+) } {\$$1}xg; # simple scalar warn "\n\n\n --- After Transformation: \n$_"; warn "\n\n\n --- Code execution!\n"; }; 1;