GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
TemporaryBag(3) User Contributed Perl Documentation TemporaryBag(3)

    my $self = shift;
    my $fn = $self->[FILENAME];
    my $fh = $self->[FILEHANDLE];

    if ($fh) {
        seek $fh, 0, SEEK_END;
        return tell($fh)- $self->[STARTPOS];
    } elsif ($fn) {
        return (-s $fn) - $self->[STARTPOS];
    } else {
        return length($self->[BUFFER]);
    }

Data::TemporaryBag - Handle long size data using temporary file .

  use Data::TemporaryBag;

  $data = Data::TemporaryBag->new;
  # add long string
  $data->add('ABC' x 1000);
  # You can use an overridden operator
  $data .= 'DEF' x 1000;
  ...
  $substr = $data->substr(2997, 6);  # ABCDEF

Data::TemporaryBag module provides a bag object class handling long size data. The short size data are kept on memory. When the data size becomes over $Threshold size, they are saved into a temporary file internally.

Data::TemporaryBag->new( [$data] )
Creates a bag object.
$bag->clear
Clears $bag.
$bag->add( $data )
Adds $data to $bag. You can use an assignment operator '.=' instead.
$bag->substr( $offset, $length, $replace )
Extracts a substring out of $bag. It behaves similar to CORE::substr except that it can't be an lvalue.
$bag->clone
Creates a clone of $bag.
$bag->value
Gets data of $bag as a string. It is possible that the string is extremely long.
$bag->length
Gets length of data.
$bag->defined
Returns if the data in $bag are defined or not.
$bag->is_saved
Returns the file name if $bag is saved in a temporary file.

$Data::TemporaryBag::Threshold
The threshold of the data size in kilobytes whether saved into file or not. Default is 10.
$data::TemporaryBag::MaxOpen
The maximum number of the opened temporary files. Default is 10.

Copyright 2001 Yasuhiro Sasama (ySas), <ysas@nmt.ne.jp>

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

2006-01-25 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.