in reply to Loops and variable usage
I reformatted your code to be more readable, fixed the ==, added 'my' to the subroutine vars, removed the 'v' filehandle so I could just print to the screen, seems to work for me based on your logic. Here is the code (always 'use strict;'!).
and here is the output:#!/usr/bin/perl -w use strict; $| = 1; my $a = 1; my $b = 1; my $c = 1; print "Passing in \$a: $a, \$b: $b, \$c: $c: expect p 1 1\n"; ddd($a,$b,$c); $a = 2; $b = 2; $c = 2; print "Passing in \$a: $a, \$b: $b, \$c: $c: expect pp 2 2\n"; ddd($a,$b,$c); $a = 3; $b = 3; $c = 3; print "Passing in \$a: $a, \$b: $b, \$c: $c: expect 3 w 3\n"; ddd($a,$b,$c); sub ddd { my $a = $_[0]; my $b = $_[1]; my $c = $_[2]; if ($a == '1') { $a = 'p'; } elsif ($a == '2') { $a = 'pp'; } if ($b == '3') { $b = 'w' } print " < $a > < $b > < $c > \n"; }
#> ./test-subroutine.pl Passing in $a: 1, $b: 1, $c: 1: expect p 1 1 < p > < 1 > < 1 > Passing in $a: 2, $b: 2, $c: 2: expect pp 2 2 < pp > < 2 > < 2 > Passing in $a: 3, $b: 3, $c: 3: expect 3 w 3 < 3 > < w > < 3 > #>
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Loops and variable usage
by Anonymous Monk on Mar 23, 2012 at 18:57 UTC | |
by roboticus (Chancellor) on Mar 23, 2012 at 19:01 UTC |