#!/usr/bin/perl use strict; use Text::RewriteRules; use Data::Dumper; my $a; sub lines{ my $a=shift; my $l; open(F,"<",$a) or die("Error: cant find $a\n"); while(){chomp; s/[ \t\r]+\n/\n/g; push(@$l,$_) if /\S/} $l; } sub myeval{ my $exp=shift; my $v=eval($exp); print STDERR "Error: $@ in calculation of ($exp)\n" if $@; $v } print Dumper(myeval('lines("x.lines")'));