NAME
Hades::Macro::FH - Hades macro helpers for FH
VERSION
Version 0.01
SYNOPSIS
Quick summary of what the module does:
Hades->run({
eval
=>
q|
macro {
FH [ alias => { read_file => [qw/rf/], write_file => [qw/wf/] } ]
}
Kosmos {
geras $file :t(Str) :d('path/to/file.txt') {
€rf($file);
$content = 'limos';
€wf($file, $content);
}
}
|
;
});
... generates ...
package
Kosmos;
use
strict;
use
warnings;
our
$VERSION
= 0.01;
sub
new {
my
(
$cls
,
%args
) = (
shift
(),
scalar
@_
== 1 ? %{
$_
[0] } :
@_
);
my
$self
=
bless
{},
$cls
;
my
%accessors
= ();
for
my
$accessor
(
keys
%accessors
) {
my
$value
=
$self
->
$accessor
(
defined
$args
{
$accessor
}
?
$args
{
$accessor
}
:
$accessors
{
$accessor
}->{
default
} );
unless
( !
$accessors
{
$accessor
}->{required} ||
defined
$value
) {
die
"$accessor accessor is required"
;
}
}
return
$self
;
}
sub
geras {
my
(
$self
,
$file
) =
@_
;
$file
=
defined
$file
?
$file
:
'path/to/file.txt'
;
if
( !
defined
(
$file
) ||
ref
$file
) {
$file
=
defined
$file
?
$file
:
'undef'
;
die
qq{Str: invalid value $file for variable \$file in method geras}
;
}
open
my
$fh
,
"<"
,
$file
or
die
"cannot open file for reading: $!"
;
my
$content
=
do
{
local
$/; <
$fh
> };
close
$fh
;
$content
=
'limos'
;
open
my
$wh
,
">"
,
$file
or
die
"cannot open file for writing: $!"
;
$wh
$content
;
close
$wh
;
}
1;
__END__
SUBROUTINES/METHODS
new
Instantiate a new Hades::Macro::FH object.
Hades::Macro::FH->new
open_write
call open_write method. Expects param $mg to be a Object, param $file to be a Str, param $variable to be a Str, param $error to be a Str.
$obj
->open_write(
$mg
,
$file
,
$variable
,
$error
)
open_read
call open_read method. Expects param $mg to be a Object, param $file to be a Str, param $variable to be a Str, param $error to be a Str.
$obj
->open_read(
$mg
,
$file
,
$variable
,
$error
)
close_file
call close_file method. Expects param $mg to be a Object, param $file to be a Str, param $variable to be a Str.
$obj
->close_file(
$mg
,
$file
,
$variable
)
read_file
call read_file method. Expects param $mg to be a Object, param $file to be a Str, param $variable to be a Str, param $error to be a Str.
$obj
->read_file(
$mg
,
$file
,
$variable
,
$error
)
write_file
call write_file method. Expects param $mg to be a Object, param $file to be a Str, param $content to be a Str, param $variable to be a Str, param $error to be a Str.
$obj
->write_file(
$mg
,
$file
,
$content
,
$variable
,
$error
)
ACCESSORS
macro
get or set macro.
$obj
->macro;
$obj
->macro(
$value
);
AUTHOR
LNATION, <email at lnation.org>
BUGS
Please report any bugs or feature requests to bug-hades::macro::fh at rt.cpan.org
, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Hades-Macro-FH. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Hades::Macro::FH
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
This software is Copyright (c) 2020 by LNATION.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 218:
Non-ASCII character seen before =encoding in '€rf($file);'. Assuming UTF-8