- 论坛徽章:
- 1
|
包代码:- #!/bin/perl
- package test;
- use Data::Dumper;
- my @all;
- sub new()
- {
- my $ref = shift;
- $class = ref $ref || $ref;
- my $self = {};
- bless $self, $class;
- }
- sub test()
- {
- my $self = shift;
- my $data = shift;
- push @all, $data;
- print "all_data is ", (join '#', @all), "\n";
- }
- 1;
复制代码 调用代码:- #!/usr/bin/perl
- use strict;
- use warnings;
- use test;
- use Data::Dumper;
- print "new a\n";
- my $a = test->new();
- $a->test("abc");
- print "new b\n";
- my $b = test->new();
- $b->test("123");
复制代码 运行结果:- $perl test.pl
- new a
- all_data is abc
- new b
- all_data is abc#123
复制代码 my变量通常是临时的或只在程序的局部可访问,为什么我创建了a , b两个对象,他们中的 my @all却是共享存储的? |
|