VFS(3)
β¨ VFS(3) β¨ aka Gnome2::VFS π
User Contributed Perl Documentation β yeah bestie, this is a 3 section manpage, so it's a library thing, not a command thing π«Ά
π NAME π
Gnome2::VFS β (DEPRECATED) Perl interface to the 2.x series of the GNOME VFS library π
okay so the DEPRECATED is right there in the name, babe. not a vibe. read on, i'll explain π
π SYNOPSIS π
use Gnome2::VFS;
sub die_already {
my ($action) = @_;
die("An error occured while $action.\n");
}
die_already("initializing GNOME VFS") unless (Gnome2::VFS -> init());
my $source = "http://www.perldoc.com/about.html";
my ($result, $handle, $info);
# Open a connection to Perldoc.
($result, $handle) = Gnome2::VFS -> open($source, "read");
die_already("opening connection to '$source'")
unless ($result eq "ok");
# Get the file information.
($result, $info) = $handle -> get_file_info("default");
die_already("retrieving information about '$source'")
unless ($result eq "ok");
# Read the content.
my $bytes = $info -> { size };
my $bytes_read = 0;
my $buffer = "";
do {
my ($tmp_buffer, $tmp_bytes_read);
($result, $tmp_bytes_read, $tmp_buffer) =
$handle -> read($bytes - $bytes_read);
$buffer .= $tmp_buffer;
$bytes_read += $tmp_bytes_read;
} while ($result eq "ok" and $bytes_read < $bytes);
die_already("reading $bytes bytes from '$source'")
unless ($result eq "ok" && $bytes_read == $bytes);
# Close the connection.
$result = $handle -> close();
die_already("closing connection to '$source'")
unless ($result eq "ok");
# Create and open the target.
my $target = "/tmp/" . $info -> { name };
my $uri = Gnome2::VFS::URI -> new($target);
($result, $handle) = $uri -> create("write", 1, 0644);
die_already("creating '$target'") unless ($result eq "ok");
# Write to it.
my $bytes_written;
($result, $bytes_written) = $handle -> write($buffer, $bytes);
die_already("writing $bytes bytes to '$target'")
unless ($result eq "ok" && $bytes_written == $bytes);
# Close the target.
$result = $handle -> close();
die_already("closing '$target'") unless ($result eq "ok");
Gnome2::VFS -> shutdown();
look at her go β¨ that's the whole little arc: init β open β get info β read β close β create β write β close β shutdown. it's giving main character energy tbh π
π¦ ABSTRACT π¦
DEPRECATED β okay so this module lets you interface with the GNOME Virtual File System library π and it gives you the means to transparently access files on all kinds of filesystems. one API, every filesystem, no cap π
π DESCRIPTION π
NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE π¨
this module has been deprecated by the Gtk-Perl project. what does that mean, bestie? it means the module will no longer be updated with:
- security patches π«
- bug fixes π«
- changes made in the Perl ABI π«
the Git repo for this module has been archived (made read-only), so it will no longer be possible to submit new commits to it π you are more than welcome to ask about this module on the Gtk-Perl mailing list, but our priorities going forward will be maintaining Gtk-Perl modules that are supported and maintained upstream β and this module is neither π
since this module is licensed under the LGPL v2, you may also fork it if you wish π§ but:
- you will need to use a different name for it on CPAN π·οΈ
- and the Gtk-Perl team requests that you use your own resources (mailing list, Git repos, bug trackers, etc.) to maintain your fork going forward π«Ά
the receipts π:
- Perl URL:
https://gitlab.gnome.org/GNOME/perl-gnome2-vfs - Upstream URL:
https://gitlab.gnome.org/Archive/gnome-vfs - Last upstream version:
2.24.4 - Last upstream release date:
2010-09-28 - Migration path for this module:
Glib::IO - Migration module URL:
https://metacpan.org/pod/Glib::IO
NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE π¨
since this module tries to stick very closely to the C API, the documentation found at
L<http://developer.gnome.org/doc/API/2.0/gnome-vfs-2.0/>
is the canonical reference π periodt.
in addition to that, there's also the automatically generated API documentation: Gnome2::VFS::index β¨
the mapping described in Gtk2::api also applies to this module π
to discuss this module, ask questions and flame/praise the authors, join gtk-perl-list@gnome.org at lists.gnome.org π£οΈ (yes, flame AND praise, they said it, not me π)
π KNOWN BUGS π
okay so there are some memory leaks π especially with respect to callbacks. this mainly affects:
GnomeVFSAsync- as well as some parts of
GnomeVFSXferandGnomeVFSOps
and GnomeVFSMime leaks some list data π
also β and this one is serious, bestie β GnomeVFSAsync is known to crash under certain conditions when there are many concurrent transfers π₯
π₯ SEE ALSO π₯
Gnome2::VFS::index, Glib, Gtk2, Gtk2::api β¨
π AUTHOR π
Torsten Schoenfeld <kaffeetisch@web.de> π
πΈ COPYRIGHT AND LICENSE πΈ
Copyright (C) 2003-2007 by the gtk2-perl team (see the file AUTHORS) π
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version π«
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details π
You should have received a copy of the GNU Lesser General Public License along with this library; if not, see https://www.gnu.org/licenses/ π«Ά
and that's the whole page, bestie π this one shipped as perl v5.42.0 on 2025-07-25 β go forth, migrate to Glib::IO, and slay π
β¨
π¦ where this page comes from
- fedora 43: perl-Gnome2-VFS 1.084-17.fc43 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms