Acme-VOYAGEGROUP-ConferenceRoom
view release on metacpan or search on metacpan
lib/Acme/VOYAGEGROUP/ConferenceRoom.pm view on Meta::CPAN
json => 'Acme::VOYAGEGROUP::ConferenceRoom::Output::JSON',
xml => 'Acme::VOYAGEGROUP::ConferenceRoom::Output::XML',
message_pack => 'Acme::VOYAGEGROUP::ConferenceRoom::Output::MessagePack',
);
sub conference_room {
my $room_name = shift or croak "Conference Room Not Found";
my $output_type = shift || 'color';
$room_name = _normalize($room_name);
my $process = $PROCESS_OF{$room_name};
croak "Conference Room Not Found: $room_name" unless $process;
croak "Mistake Position: $process->{position}" if $process->{position} !~ m/\s(\^?).+?(\$?)\s/xms;
my @lines = split "\n", FLOOR_PLAN;
my($head, $tail) = ($1) ? ('', '/') : ('/', '');
for my $i (@{ $process->{lines} }) {
1 while $lines[$i] =~ s{$process->{position}}{$head$1$tail};
}
if ($output_type ne 'none') {
my $module = $OUTPUT_OF{$output_type};
croak "No Type: $output_type" unless $module;
return $module->convert(\@lines) if $module->use;
}
join "\n", @lines;
( run in 0.256 second using v1.01-cache-2.11-cpan-8d75d55dd25 )