NAME Map::Tube::Text::Table - Table output for Map::Tube. SYNOPSIS use Map::Tube::Text::Table; my $obj = Map::Tube::Text::Table->new(%params); my $text = $obj->junctions; my $text = $obj->line($line); my $text = $obj->print; METHODS "new(%params)" Constructor. * "tube" Map::Tube object. It is required. Default value is undef. "junctions()" Print junctions. Returns string with unicode text table. "line($line)" Print line. Returns string with unicode text table. "print()" Print all (junctions + all lines). Returns string with unicode text table. ERRORS new(): Parameter 'tube' is required. Parameter 'tube' must be 'Map::Tube' object. From Class::Utils::set_params(): Unknown parameter '%s'. EXAMPLE # Pragmas. use strict; use warnings; # Modules. use Encode qw(encode_utf8); use English; use Error::Pure qw(err); use Map::Tube::Text::Table; # Error::Pure environment. $ENV{'ERROR_PURE'} = 'AllError'; # Arguments. if (@ARGV < 1) { print STDERR "Usage: $0 metro\n"; exit 1; } my $metro = $ARGV[0]; # Object. my $class = 'Map::Tube::'.$metro; eval "require $class;"; if ($EVAL_ERROR) { err "Cannot load '$class' class.", 'Error', $EVAL_ERROR; } # Metro object. my $tube = eval "$class->new"; if ($EVAL_ERROR) { err "Cannot create object for '$class' class.", 'Error', $EVAL_ERROR; } # GraphViz object. my $table = Map::Tube::Text::Table->new( 'tube' => $tube, ); # Print out. print encode_utf8($table->print); # Output without arguments like: # Usage: /tmp/SZXfa2g154 metro # Output with 'Tbilisi' argument like: # в”Њв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”ђ # в”‚ Junctions в”‚ # ├──────────────────┬──────────────────────────────────────────┬────────────────────────────────────┤ # в”‚ Station в”‚ Line в”‚ Connected to в”‚ # ├──────────────────┼──────────────────────────────────────────┼────────────────────────────────────┤ # в”‚ бѓЎбѓђбѓ“бѓ’бѓЈбѓ бѓбѓЎ бѓ›бѓќбѓ”бѓ“бѓђбѓњбѓ в”‚ бѓђбѓ®бѓ›бѓ”бѓўбѓ”бѓљбѓ-бѓ•бѓђбѓ бѓ™бѓ”бѓ—бѓбѓљбѓбѓЎ бѓ®бѓђбѓ–бѓ,бѓЎбѓђбѓ‘бѓЈбѓ бѓ—бѓђбѓљбѓќбѓЎ бѓ®бѓђбѓ–бѓ в”‚ бѓ›бѓђбѓ бѓЇбѓђбѓњбѓбѓЁбѓ•бѓбѓљбѓ, бѓњбѓђбѓ«бѓђбѓљбѓђбѓ“бѓ”бѓ•бѓ, бѓ¬бѓ”бѓ бѓ”бѓ—бѓ”бѓљбѓ в”‚ # └──────────────────┴──────────────────────────────────────────┴────────────────────────────────────┠# в”Њв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”ђ # в”‚ Line 'бѓђбѓ®бѓ›бѓ”бѓўбѓ”бѓљбѓ-бѓ•бѓђбѓ бѓ™бѓ”бѓ—бѓбѓљбѓбѓЎ бѓ®бѓђбѓ–бѓ' в”‚ # ├──────────────────────┬────────────────────────────────────┤ # в”‚ Station в”‚ Connected to в”‚ # ├──────────────────────┼────────────────────────────────────┤ # в”‚ бѓђбѓ®бѓ›бѓ”бѓўбѓ”бѓљбѓбѓЎ бѓ—бѓ”бѓђбѓўбѓ бѓ в”‚ бѓЎбѓђбѓ бѓђбѓЇбѓбѓЁбѓ•бѓбѓљбѓ в”‚ # в”‚ бѓЎбѓђбѓ бѓђбѓЇбѓбѓЁбѓ•бѓбѓљбѓ в”‚ бѓђбѓ®бѓ›бѓ”бѓўбѓ”бѓљбѓбѓЎ бѓ—бѓ”бѓђбѓўбѓ бѓ, бѓ’бѓЈбѓ бѓђбѓ›бѓбѓЁбѓ•бѓбѓљбѓ в”‚ # в”‚ бѓ’бѓЈбѓ бѓђбѓ›бѓбѓЁбѓ•бѓбѓљбѓ в”‚ бѓЎбѓђбѓ бѓђбѓЇбѓбѓЁбѓ•бѓбѓљбѓ, бѓ¦бѓ бѓ›бѓђбѓ¦бѓ”бѓљбѓ” в”‚ # в”‚ бѓ¦бѓ бѓ›бѓђбѓ¦бѓ”бѓљбѓ” в”‚ бѓ’бѓЈбѓ бѓђбѓ›бѓбѓЁбѓ•бѓбѓљбѓ, бѓ“бѓбѓ“бѓЈбѓ‘бѓ” в”‚ # в”‚ бѓ“бѓбѓ“бѓЈбѓ‘бѓ” в”‚ бѓ’бѓќбѓЄбѓбѓ бѓбѓ«бѓ”, бѓ¦бѓ бѓ›бѓђбѓ¦бѓ”бѓљбѓ” в”‚ # в”‚ бѓ’бѓќбѓЄбѓбѓ бѓбѓ«бѓ” в”‚ бѓ“бѓбѓ“бѓЈбѓ‘бѓ”, бѓњбѓђбѓ«бѓђбѓљбѓђбѓ“бѓ”бѓ•бѓ в”‚ # в”‚ бѓњбѓђбѓ«бѓђбѓљбѓђбѓ“бѓ”бѓ•бѓ в”‚ бѓ’бѓќбѓЄбѓбѓ бѓбѓ«бѓ”, бѓЎбѓђбѓ“бѓ’бѓЈбѓ бѓбѓЎ бѓ›бѓќбѓ”бѓ“бѓђбѓњбѓ в”‚ # в”‚ бѓ›бѓђбѓ бѓЇбѓђбѓњбѓбѓЁбѓ•бѓбѓљбѓ в”‚ бѓ бѓЈбѓЎбѓ—бѓђбѓ•бѓ”бѓљбѓ, бѓЎбѓђбѓ“бѓ’бѓЈбѓ бѓбѓЎ бѓ›бѓќбѓ”бѓ“бѓђбѓњбѓ в”‚ # в”‚ бѓ бѓЈбѓЎбѓ—бѓђбѓ•бѓ”бѓљбѓ в”‚ бѓ—бѓђбѓ•бѓбѓЎбѓЈбѓ¤бѓљбѓ”бѓ‘бѓбѓЎ бѓ›бѓќбѓ”бѓ“бѓђбѓњбѓ, бѓ›бѓђбѓ бѓЇбѓђбѓњбѓбѓЁбѓ•бѓбѓљбѓ в”‚ # в”‚ бѓ—бѓђбѓ•бѓбѓЎбѓЈбѓ¤бѓљбѓ”бѓ‘бѓбѓЎ бѓ›бѓќбѓ”бѓ“бѓђбѓњбѓ в”‚ бѓђбѓ•бѓљбѓђбѓ‘бѓђбѓ бѓ, бѓ бѓЈбѓЎбѓ—бѓђбѓ•бѓ”бѓљбѓ в”‚ # в”‚ бѓђбѓ•бѓљбѓђбѓ‘бѓђбѓ бѓ в”‚ 300 бѓђбѓ бѓђбѓ’бѓ•бѓ”бѓљбѓ, бѓ—бѓђбѓ•бѓбѓЎбѓЈбѓ¤бѓљбѓ”бѓ‘бѓбѓЎ бѓ›бѓќбѓ”бѓ“бѓђбѓњбѓ в”‚ # в”‚ 300 бѓђбѓ бѓђбѓ’бѓ•бѓ”бѓљбѓ в”‚ бѓђбѓ•бѓљбѓђбѓ‘бѓђбѓ бѓ, бѓбѓЎбѓђбѓњбѓ в”‚ # в”‚ бѓбѓЎбѓђбѓњбѓ в”‚ 300 бѓђбѓ бѓђбѓ’бѓ•бѓ”бѓљбѓ, бѓЎбѓђбѓ›бѓ’бѓќбѓ бѓ в”‚ # в”‚ бѓЎбѓђбѓ›бѓ’бѓќбѓ бѓ в”‚ бѓ•бѓђбѓ бѓ™бѓ”бѓ—бѓбѓљбѓ, бѓбѓЎбѓђбѓњбѓ в”‚ # в”‚ бѓ•бѓђбѓ бѓ™бѓ”бѓ—бѓбѓљбѓ в”‚ бѓЎбѓђбѓ›бѓ’бѓќбѓ бѓ в”‚ # в”‚ бѓЎбѓђбѓ“бѓ’бѓЈбѓ бѓбѓЎ бѓ›бѓќбѓ”бѓ“бѓђбѓњбѓ в”‚ бѓ›бѓђбѓ бѓЇбѓђбѓњбѓбѓЁбѓ•бѓбѓљбѓ, бѓњбѓђбѓ«бѓђбѓљбѓђбѓ“бѓ”бѓ•бѓ, бѓ¬бѓ”бѓ бѓ”бѓ—бѓ”бѓљбѓ в”‚ # └──────────────────────┴────────────────────────────────────┠# в”Њв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”ђ # в”‚ Line 'бѓЎбѓђбѓ‘бѓЈбѓ бѓ—бѓђбѓљбѓќбѓЎ бѓ®бѓђбѓ–бѓ' в”‚ # ├─────────────────────────┬──────────────────────────────────────────┤ # в”‚ Station в”‚ Connected to в”‚ # ├─────────────────────────┼──────────────────────────────────────────┤ # в”‚ бѓ¬бѓ”бѓ бѓ”бѓ—бѓ”бѓљбѓ в”‚ бѓЎбѓђбѓ“бѓ’бѓЈбѓ бѓбѓЎ бѓ›бѓќбѓ”бѓ“бѓђбѓњбѓ, ტექნбѓбѓ™бѓЈбѓ бѓ бѓЈбѓњбѓбѓ•бѓ”бѓ бѓЎбѓбѓўбѓ”бѓўбѓ в”‚ # в”‚ ტექნбѓбѓ™бѓЈбѓ бѓ бѓЈбѓњбѓбѓ•бѓ”бѓ бѓЎбѓбѓўбѓ”бѓўбѓ в”‚ бѓЎбѓђбѓ›бѓ”бѓ“бѓбѓЄбѓбѓњбѓќ бѓЈбѓњбѓбѓ•бѓ”бѓ бѓЎбѓбѓўбѓ”бѓўбѓ, бѓ¬бѓ”бѓ бѓ”бѓ—бѓ”бѓљбѓ в”‚ # в”‚ бѓЎбѓђбѓ›бѓ”бѓ“бѓбѓЄбѓбѓњбѓќ бѓЈбѓњбѓбѓ•бѓ”бѓ бѓЎбѓбѓўбѓ”бѓўбѓ в”‚ бѓ“бѓ”бѓљбѓбѓЎбѓ, ტექნбѓбѓ™бѓЈбѓ бѓ бѓЈбѓњбѓбѓ•бѓ”бѓ бѓЎбѓбѓўбѓ”бѓўбѓ в”‚ # в”‚ бѓ“бѓ”бѓљбѓбѓЎбѓ в”‚ бѓ•бѓђбѓџбѓђ-бѓ¤бѓЁбѓђбѓ•бѓ”бѓљбѓђ, бѓЎбѓђбѓ›бѓ”бѓ“бѓбѓЄбѓбѓњбѓќ бѓЈбѓњбѓбѓ•бѓ”бѓ бѓЎбѓбѓўбѓ”бѓўбѓ в”‚ # в”‚ бѓ•бѓђбѓџбѓђ-бѓ¤бѓЁбѓђбѓ•бѓ”бѓљбѓђ в”‚ бѓ“бѓ”бѓљбѓбѓЎбѓ в”‚ # в”‚ бѓЎбѓђбѓ“бѓ’бѓЈбѓ бѓбѓЎ бѓ›бѓќбѓ”бѓ“бѓђбѓњбѓ в”‚ бѓ›бѓђбѓ бѓЇбѓђбѓњбѓбѓЁбѓ•бѓбѓљбѓ, бѓњбѓђбѓ«бѓђбѓљбѓђбѓ“бѓ”бѓ•бѓ, бѓ¬бѓ”бѓ бѓ”бѓ—бѓ”бѓљбѓ в”‚ # └─────────────────────────┴──────────────────────────────────────────┠DEPENDENCIES Class::Utils, Error::Pure, Map::Tube::Text::Table::Utils, Readonly, Scalar::Util. SEE ALSO Map::Tube, Map::Tube::GraphViz. REPOSITORY <https://github.com/tupinek/Map-Tube-Text-Table> AUTHOR Michal Е paДЌek <mailto:skim@cpan.org> <http://skim.cz> LICENSE AND COPYRIGHT В© 2014 Michal Е paДЌek Artistic License BSD 2-Clause License VERSION 0.02