#!/usr/bin/perl use strict; use Data::Dumper; use Text::RewriteRules; print Dumper(_let_proc2( 'a b= [batatas, tomates, ceboas ]')); print Dumper(_let_proc2( 'a b[2]= [batatas, tomates, ceboas ]')); print Dumper(_let_proc2('d= {[ 1..3] }')); print Dumper(_let_proc2('baa[4]= {{ [ 1..4] }}')); print Dumper(_let_proc2('baa= sin(#b)')); RULES/m _let_proc2 =b=> my $r={tipo=>""}; (\w+)\s+(\w+)\[(\d+)\]\s*(?==)=e=> $r->{tipo}=$1;$r->{v}=$2; $r->{card}=$3;"" (\w+)\[(\d+)\]\s*(?==)=e=> $r->{v}=$1; $r->{card}=$2;"" (\w+)\s+(\w+)\s*(?==)=e=> $r->{tipo}=$1;$r->{v}=$2;"" (\w+)\s*(?==)=e=> $r->{v}=$1;"" =\s*([[:BB:]])=e=> $r->{val} = [split(/\s*,\s*/,$+{BB})];"" =\s*([[:CBB:]])=e=> $r->{val} = eval($+{CBB});"" =\s*(\S.*)=e=> $r->{val__} = $1;"" \s+==> $=l=> !! return $r ENDRULES