The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

ELF::Extract::Sections::Section - An Objective reference to a section in an ELF file.

VERSION

version 0.03000101

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

PUBLIC 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

PUBLIC METHODS

-> new ( %ATTRIBUTES )

4 Parameters, all required.

Returns an ELF::Extract::Sections::Section object.

-> to_string

returns Str description of the object

    [ Section {name} of size {size} in {file} @ {start} to {stop} ]

-> 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 ( file => $file )

UNIMPLEMENTED AS OF YET

file

Str|Path::Tiny: File target to write section contents to.

-> contents

returns Str of binary data read out of file.

AUTHOR

Kent Fredric <kentnl@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Kent Fredric.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.