annotate variant_effect_predictor/Bio/EnsEMBL/Utils/Eprof.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 =head1 LICENSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 Genome Research Limited. All rights reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 This software is distributed under a modified Apache license.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 For license details, please see
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 http://www.ensembl.org/info/about/code_licence.html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 Please email comments or questions to the public Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 developers list at <dev@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 Questions may also be sent to the Ensembl help desk at
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 <helpdesk@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 Bio::EnsEMBL::Utils::Eprof - Bespoke Ensembl profiler
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 use Bio::EnsEMBL::Utils::Eprof( 'eprof_start', 'eprof_end',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 'eprof_dump' );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 &eprof_start('function-a');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 # ... do something
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 &eprof_end('function-a');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 &eprof_dump( \*STDERR );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 # there is an object based set for above as well, for running
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 # multiple concurrent profilers
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 This is an Ensembl profiler as we broke the Perl profilers.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 package Bio::EnsEMBL::Utils::Eprof;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 use Bio::EnsEMBL::Utils::Exception ('throw');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 use Bio::EnsEMBL::Utils::EprofStack;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 use base qw( Exporter );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 our @EXPORT_OK =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 ( 'eprof_start', 'eprof_end', 'eprof_dump', 'eprof_reset' );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 my $global;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 my ($proto) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 my $class = ref($proto) || $proto;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 my $self = bless( { '_tags' => {} }, $class );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 =head2 eprof_start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 Title : eprof_start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 sub eprof_start {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 my ($tag) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 if ( !defined($global) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 $global = Bio::EnsEMBL::Utils::Eprof->new();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 $global->start($tag);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 =head2 eprof_end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 Title : eprof_end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 sub eprof_end {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 my ($tag) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 if ( !defined($global) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 $global = Bio::EnsEMBL::Utils::Eprof->new();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 $global->end($tag);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 sub eprof_dump {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 my ($fh) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 if ( !defined($global) ) { return }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 $global->dump($fh);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 =head2 eprof_reset
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 Title : eprof_reset
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 sub eprof_reset { undef($global) }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 =head2 dump
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 Title : dump
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 sub dump {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 my ( $self, $fh ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 my @tags = sort {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 $self->_tags()->{$a}->total_time()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 <=> $self->_tags()->{$b}->total_time()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 } keys %{ $self->_tags() };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 foreach my $tag (@tags) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 my $st = $self->_tags->{$tag};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 if ( $st->number() == 0 ) { next }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 my $STD = '---';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 if ( $st->number() > 1 ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 my $SS =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 $st->total_time_time() -
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 $st->total_time()*$st->total_time()/$st->number();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 if ( $SS > 0 ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 $STD = sprintf( "%6f",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 sqrt( $SS/$st->number()/( $st->number() - 1 ) )
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 print( $fh sprintf( "Eprof: %20s %6f %6f %d %s [%6f,%6f]\n",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 $st->tag(), $st->total_time(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 $st->total_time()/$st->number(), $st->number(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 $STD, $st->min_time(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 $st->max_time() ) );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 } ## end foreach my $tag (@tags)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 } ## end sub dump
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 =head2 start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 Title : start
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 Usage : $eprof->start('this_tag');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 sub start {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 my ( $self, $tag ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 if ( !defined($tag) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 $self->throw("No tag, can't start.");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 if ( !defined( $self->_tags()->{$tag} ) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 $self->_tags()->{$tag} = Bio::EnsEMBL::Utils::EprofStack->new($tag);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 $self->_tags()->{$tag}->push_stack();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 =head2 end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 Title : end
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 Usage : $eprof->end('this_tag');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 sub end {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 my ( $self, $tag ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 if ( !defined($tag) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 $self->throw("No tag, can't end.");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 if ( !defined( $self->_tags()->{$tag} ) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 $self->throw(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 sprintf( "Ending with a nonexistant tag '%s'", $tag ) );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 $self->_tags->{$tag}->pop_stack();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 =head2 _tags
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 Title : _tags
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 Usage : $obj->_tags($newval)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 Returns : value of _tags
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 Args : newvalue (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 sub _tags {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 my ($obj) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 return $obj->{'_tags'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254