in reply to subroutine array question
The error message tells you
Modification of a read-only value attempted
So re-write it:
#!/bin/perl use strict; use warnings; my @vals = ( 5, 6, 7 ); my @area = &circ_area( @vals ); foreach (@area) { print $_ . "\n"; } sub circ_area { foreach (@_) { $_= 3.14 * ($_**2); } return (@_) }
But since you're modifying the @_ var ... you really don't need to return it ... you're just needlessly copying the data.
#!/bin/perl use strict; use warnings; my @vals = ( 5, 6, 7 ); &circ_area( @vals ); foreach (@vals) { print $_ . "\n"; } sub circ_area { foreach (@_) { $_= 3.14 * ($_**2); } }
|
|---|