File: Examples.pm

package info (click to toggle)
soap-lite 0.69-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,412 kB
  • ctags: 583
  • sloc: perl: 9,194; makefile: 59; cs: 16
file content (36 lines) | stat: -rw-r--r-- 1,024 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package My::Examples;

my @states = (undef, # we want to start from one :)
  qw/Alabama Alaska Arizona Arkansas California Colorado Connecticut
  Delaware Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas
  Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota
  Mississippi Missouri Montana Nebraska Nevada/, 'New Hampshire',
  'New Jersey', 'New Mexico', 'New York', 'North Carolina',
  'North Dakota', qw/Ohio Oklahoma Oregon Pennsylvania/, 'Rhode Island',
  'South Carolina', 'South Dakota', qw/Tennessee Texas Utah Vermont
  Virginia Washington/, 'West Virginia', 'Wisconsin', 'Wyoming'
);

sub getStateName {
  my $self = shift;
  $states[shift];
}

sub getStateNames {
  my $self = shift;
  join "\n", map {$states[$_]} @_;
}

sub getStateList {
  my $self = shift;
  [map {$states[$_]} @{shift()}];
}

sub getStateStruct {
  my $self = shift;
  my %states = %{shift()};
  # be careful to distinguish block from hash. Just {} won't work
  +{map {$_ => $states[$states{$_}]} keys %states}; 
}

1;