> gb@MINT ~/Perl5/perl programs $ cat prog164.pl
> #!/usr/bin/perl
> use strict;
> use warnings;
> while ($line = <>) {
> while ($line =~
> s#\d+\s*[*+-/]\s*\d+(\s*[*+-/]\s*\d+)*#<x>#) {
> eval ("\$result = $&;");
> $line =~ s/<x>/$result/;
>
> }
> print ($line);
> }
>
>
>
> gb@MINT ~/Perl5/perl programs $ ./prog164.pl
> Global symbol "$line" requires explicit package name at ./prog164.pl line 4.
> Global symbol "$line" requires explicit package name at ./prog164.pl line 5.
> Global symbol "$line" requires explicit package name at ./prog164.pl line 8.
> Global symbol "$result" requires explicit package name at ./prog164.pl line
> 8.
> Global symbol "$line" requires explicit package name at ./prog164.pl line
> 11.
> Execution of ./prog164.pl aborted due to compilation errors.
> gb@MINT ~/Perl5/perl programs $
>
>
> What is this error? And what am I doing wrong.
Using strict mode, you should declare the variables scope with my for example…
--
Olivier Le Monnier — ☎ 023156.6209
Administrateur systèmes libre(s)
Direction du Système d'Information
Université de Caen Normandie
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/