Why not adopt me?
NAME
ELF::Extract::Sections::Section - An Objective reference to a section in an ELF file.
VERSION
version 1.001000
SYNOPSIS
use ELF::Extract::Sections::Section;
my $s = ELF::Extract::Sections::Section->new(
source => '/foo/bar.pl',
name => '.comment',
offset => 45670,
size => 1244,
);
# prints a human friendly description
print $s->to_string;
# does likewise.
print "$s";
# Compare with another section ( preferably in the same file, meaningless otherwise )
if( $s->compare( $y , 'name' ) ){
}
# Unimplemented
$s->write_to ( file => '/tmp/out.txt' );
# Retuns the sections contents as a string
print $s->contents;
DESCRIPTION
Generally Intended for use by ELF::Extract::Sections as a meta-structure for tracking data, but generated objects are returned to you for you to deal with
METHODS
new
my $section = ELF::Extract::Sections::Section->new( %ATTRIBUTES );
4 Parameters, all required.
Returns an ELF::Extract::Sections::Section
object.
to_string
my $string = $section->to_string;
returns Str
description of the object
[ Section {name} of size {size} in {file} @ {start} to {stop} ]
compare
my $cmp_result = $section->compare( other => $other, field => $field );
2 Parameters, both required
- other
-
ELF::Extract::Sections::Section
: Item to compare with - field
-
Str['name','offset','size']
: Field to compare with.
returns Int
of comparison result, between -1 and 1
write_to
my $boolean = $section->write_to( file => $file );
UNIMPLEMENTED AS OF YET
- file
-
Str
|Path::Tiny
: File target to write section contents to.
contents
my $string = $section->contents;
returns Str
of binary data read out of file.
ATTRIBUTES
source
Str
|Path::Tiny
: Either a String or a Path::Tiny instance pointing to the file in mention.
name
Str
: The ELF Section Name
offset
Int
: Position in bytes relative to the start of the file.
size
Int
: The ELF Section Size
AUTHOR
Kent Fredric <kentnl@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by Kent Fredric <kentfredric@gmail.com>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.