Hi!

You forgot arrow operator

$args->{'FN'}, not $args{'FN'}


15.01.17 23:45, al...@myfastmail.com пишет:
Hi

On Sun, Jan 15, 2017, at 12:23 PM, Илья Рассадин wrote:
I think, you can use this aproach
If I use either of those


        sub modrec {
-                       my %args = %{ shift @_ };
+                       my ($args) = @_;

30                      my $fn = $args{FN};
                        my $ar = $args{AR};
                        my $ad = $args{AD};
                        my @dr = @{$args{DR}};

                        return;
                }

or

        sub modrec {
-                       my %args     = %{ shift @_ };
+                       my $args = shift @_;

30                      my $fn = $args{FN};
                        my $ar = $args{AR};
                        my $ad = $args{AD};
                        my @dr = @{$args{DR}};

                        return;
                }

the script won't even execute.  Both give the same error

        perl /home/aj/test.pl
                Global symbol "%args" requires explicit package name at 
/home/aj/test.pl line 30.
                Global symbol "%args" requires explicit package name at 
/home/aj/test.pl line 31.
                Global symbol "%args" requires explicit package name at 
/home/aj/test.pl line 32.
                Global symbol "%args" requires explicit package name at 
/home/aj/test.pl line 33.
                Execution of /home/aj/test.pl aborted due to compilation errors.

Which is weird since after I make those changes I'm not even using "%args" 
anymore.

AJ


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to