Go through the below codes. use strict; use warnings;
my $scalar = "aaaba" =~ /a/g; my @list = "aaaba" =~ /a/g; my $list_then_scalar =()= "aaaba" =~ /a/g; print "scalar: $scalar\nlist: @list\nlist then scalar: $list_then_scalar\n"; $scalar="aaaba"; my $count = $scalar =~ tr/a//; print "\n\nCount=$count\nScalar = $scalar"; Output: scalar: 1 list: a a a a list then scalar: 4 Count=4 Scalar = aaaba Now the same code without initializing $scalar second time. use strict; use warnings; my $scalar = "aaaba" =~ /a/g; my @list = "aaaba" =~ /a/g; my $list_then_scalar =()= "aaaba" =~ /a/g; print "scalar: $scalar\nlist: @list\nlist then scalar: $list_then_scalar\n"; my $count = $scalar =~ tr/a//; print "\n\nCount=$count\nScalar = $scalar"; Output: scalar: 1 list: a a a a list then scalar: 4 Count=0 Scalar = 1 Please explain this behavior i.e. why the values of count & scalar are 0 & 1 respectively? -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/