NAME
Games::Sudoku::Component::Controller::Loader
SYNOPSIS
# Load from text
my
@cells
= Games::Sudoku::Component::Controller::Loader->load(
<<'EOT');
4 . . . . 1
2 1 . . 5 .
3 5 1 2 6 .
1 . . . 3 .
6 . . 5 1 2
5 . . . 4 6
EOT
# Or load from file
my
@cells
= Games::Sudoku::Component::Controller::Loader->load(
filename
=>
'file.txt'
,
);
# Or load from scalarref
my
$puzzle
=
<<'EOT';
4 . . . . 1
2 1 . . 5 .
3 5 1 2 6 .
1 . . . 3 .
6 . . 5 1 2
5 . . . 4 6
EOT
my
@cells
= Games::Sudoku::Component::Controller::Loader->load(\
$puzzle
);
# When you finished loading, put the loaded data into a table.
my
$table
= Games::Sudoku::Component::Table->new;
foreach
my
$item
(
@cells
) {
$table
->cell(
$item
->row,
$item
->col)->value(
$item
->value);
$table
->cell(
$item
->row,
$item
->col)->
lock
if
$item
->value;
}
DESCRIPTION
This module loads and parses puzzle data from file or scalar (reference) and returns an array of Games::Sudoku::Component::Table::Item objects.
METHODS
load (scalar or scalarref or hash or hashref)
Loads and parses puzzle data from file or scalar (reference), and then, returns an array of Games::Sudoku::Component::Table::Item objects.
Hash options are:
- filename (or
file
, for short) -
Filename for puzzle data.
- scalar
-
Scalar of puzzle data.
- scalarref
-
Scalar reference of puzzle data.
DATA STRUCTURE
Column separator is whitespaces. Row separator is line breaks. Other characters are treated as number, i.e. [^1-9] = 0.
SEE ALSO
AUTHOR
Kenichi Ishigaki, <ishigaki@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Kenichi Ishigaki
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.