view release on metacpan or search on metacpan
lib/App/reposdb.pm view on Meta::CPAN
extra data. They have various uses, but my first use-case for this is to store
last commit/status/pull time (updated via a post-commit git hook or `gitwrap`).
This is useful to speed up like syncing of repositories in `Git::Bunch` that
wants to find out which of the hundreds/thousand+ git repositories are "the most
recently used" to prioritize these repositories first. Using information from
`repos.db` is faster than having to `git status` or even stat() each repository.
_
};
sub _complete_repo {
lib/App/reposdb.pm view on Meta::CPAN
extra data. They have various uses, but my first use-case for this is to store
last commit/status/pull time (updated via a post-commit git hook or C<gitwrap>).
This is useful to speed up like syncing of repositories in C<Git::Bunch> that
wants to find out which of the hundreds/thousand+ git repositories are "the most
recently used" to prioritize these repositories first. Using information from
C<repos.db> is faster than having to C<git status> or even stat() each repository.
=head1 FUNCTIONS
=head2 add_repo_tag
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/rimetadb.pm view on Meta::CPAN
log_debug("Processing package $pkg ...");
#sleep 1;
my $rec = $dbh->selectrow_hashref("SELECT * FROM package WHERE name=?",
{}, $pkg);
my $mp = Module::Path::More::module_path(module=>$pkg);
my @st; @st = stat($mp) if $mp;
unless ($args{force} || !$rec || !$rec->{mtime} || !@st || $rec->{mtime} < $st[9]) {
log_debug("$pkg ($mp) hasn't changed since last recorded, skipped");
next;
}
view all matches for this distribution
view release on metacpan or search on metacpan
void *mmapr(const char *f, off_t *l)
{
int fd;
errn1(fd = open(f, O_RDONLY));
struct stat b;
errn1(fstat(fd, &b));
if (l) *l = b.st_size;
void *p = NULL;
if (b.st_size)
errn1((long int)(p = mmap(0, b.st_size, PROT_READ, MAP_PRIVATE, fd, 0)));
errn1(close(fd));
view all matches for this distribution
view release on metacpan or search on metacpan
script/newest-mtime view on Meta::CPAN
use Getopt::Long;
sub find_newest_mtime {
my $path = shift;
my @st = lstat($path) or return (0, $path);
my $is_dir = (-d _);
my $mtime = $st[9];
if ($is_dir) {
opendir my($dh), $path or do {
warn "newest-mtime: Can't opendir $path: $!, skipped\n";
view all matches for this distribution
view release on metacpan or search on metacpan
#sysread $FH , my $s1 , 2 * $LEN ;
#my $s2 = substr $s1 , $LEN , $LEN , '' ;
#$flg = 0 unless $s1 =~ m/^\Q$H\E.*:.*\n$/ && $s2 =~ m/^\Q$H\E.*:.*\n$/ ;
#$flg ? sysseek $FH , -$LEN , 1 : sysseek $FH , 0, 2 ;
#my $fp = (stat($FH))[2] ; say $fp ;chmod 000, $FH ; $FH->flush ;
print $FH "$DTSTR\n" ; # flock $FH , LOCK_UN ;
#$FH->flush ;chmod $fp, $FH ;
#sleep 5 ;
close $FH ;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/todoist.pm view on Meta::CPAN
$config->define('priority', { ARGCOUNT => 1, ALIAS => 'p', DEFAULT => 4 });
$config->define('add-project', { ARGCOUNT => 1, ALIAS => 'ap' });
if (defined($ENV{HOME}) && -f "$ENV{HOME}/.todoist") {
my $filename = "$ENV{HOME}/.todoist";
if (((stat($filename))[2] & 36) != 0) {
croak "your config file ($filename) is readable by others!\n";
}
$config->file($filename) || exit 1;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/wmiirc/Ssh.pm view on Meta::CPAN
my($self, @args) = @_;
state($last_mtime, @hosts);
my $known_hosts = "$ENV{HOME}/.ssh/known_hosts";
if(-r $known_hosts && !$last_mtime
|| $last_mtime != stat($known_hosts)->mtime) {
open my $fh, "<", $known_hosts or die "$known_hosts: $!";
@hosts = map /^([^, ]+)/ ? $1 : (), <$fh>;
}
if(my $host = @args ? "@args"
view all matches for this distribution
view release on metacpan or search on metacpan
script/_wordlist-blossom view on Meta::CPAN
# my $filter;
# if ($args{filter} && !ref($args{filter})) {
# my @seqs = split /\s*\|\s*/, $args{filter};
# $filter = sub {
# my $name = shift;
# my @st = stat($name) or return 0;
# my $mode = $st[2];
# my $pass;
# SEQ:
# for my $seq (@seqs) {
# my $neg = sub { $_[0] };
view all matches for this distribution
view release on metacpan or search on metacpan
script/_wordlist-wordle view on Meta::CPAN
# my $filter;
# if ($args{filter} && !ref($args{filter})) {
# my @seqs = split /\s*\|\s*/, $args{filter};
# $filter = sub {
# my $name = shift;
# my @st = stat($name) or return 0;
# my $mode = $st[2];
# my $pass;
# SEQ:
# for my $seq (@seqs) {
# my $neg = sub { $_[0] };
view all matches for this distribution
view release on metacpan or search on metacpan
script/_wordlist view on Meta::CPAN
# my $filter;
# if ($args{filter} && !ref($args{filter})) {
# my @seqs = split /\s*\|\s*/, $args{filter};
# $filter = sub {
# my $name = shift;
# my @st = stat($name) or return 0;
# my $mode = $st[2];
# my $pass;
# SEQ:
# for my $seq (@seqs) {
# my $neg = sub { $_[0] };
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/wordstat.pm view on Meta::CPAN
=head2 wordstat
Usage:
wordstat(%args) -> [status, msg, payload, meta]
Return word statistics of a text.
Examples:
=over
=item * Example #1:
wordstat(text => "An optimistic person sees good things everywhere, is generally confident and\nhopeful of what the future holds. From the optimist's point-of-view the world is\nfull of potential opportunities. The pessimist, on the other hand, obse...
Result:
[
200,
lib/App/wordstat.pm view on Meta::CPAN
},
]
=item * Supply text from file or stdin:
wordstat( text => "file.txt");
=back
This function is not exported.
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# then make will detect this and cause it to re-run over and over
# again. This is bad. Rather than taking action to touch it (which
# is unreliable on some platforms and requires write permissions)
# for now we should catch this and refuse to run.
if ( -f $0 ) {
my $s = (stat($0))[9];
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my $a = $s - time;
if ( $a > 0 and $a < 5 ) { sleep 5 }
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# then make will detect this and cause it to re-run over and over
# again. This is bad. Rather than taking action to touch it (which
# is unreliable on some platforms and requires write permissions)
# for now we should catch this and refuse to run.
if ( -f $0 ) {
my $s = (stat($0))[9];
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my $a = $s - time;
if ( $a > 0 and $a < 5 ) { sleep 5 }
view all matches for this distribution
view release on metacpan or search on metacpan
return $ret;
}
sub load_zen_file
{
my $filename = shift;
my $st = stat($filename);
my $mtime = $st->mtime;
my $filesize = $st->size;
open(my $fh, '<:encoding(UTF-8)', $filename)
or die "Could not open file '$filename' $!";
# Should return the data since last fetch offset.
sub on_append_file {
my ($cgi, $path) = @_;
my $data = $cgi->param('POSTDATA');
append_to_file($path, $data);
my @stat_info = stat($path);
if (@stat_info) {
# Extract the last modification time
my $mtime = $stat_info[9];
print "HTTP/1.0 200 OK\r\n";
print "Last-Modified: $mtime\r\n";
my $n = $cgi->url_param('n') || 0;
my $last_mtime = $cgi->url_param('last_modified');
if (-f $path) {
# override require last_mtime
my $stat = stat($path);
my $mtime = $stat->mtime;
if (!$last_mtime) {
write_error(409, "Conflict", "Missing query parameter 'last_modified' l=$l");
print Dumper $cgi;
return;
write_file($path, $x.$data.$y);
} else {
print "HTTP/1.0 400 Bad request\r\n";
return;
}
my $mtime = stat($path)->mtime;
if ($mtime) {
print "HTTP/1.0 200 OK\r\n";
print "Last-Modified: $mtime\r\n";
print "Content-Length: 0\r\n\r\n";
} else {
while (<FH>) {
print $_;
}
close FH;
} elsif ($raw eq '1' && $l > 0) {
my $mtime = stat($path)->mtime;
print "HTTP/1.0 200 OK\r\n";
print "Last-Modified: $mtime\r\n";
print "Content-Type: text/plain\r\n\r\n";
open my $fh, '<', $path or die "Can not open file: $!";
while (<$fh>) {
close $fh;
} else {
my ($ext) = $path =~ /\.([^.]+)$/;
my $mime_type = $mimeTypes{lc($ext)} || 'application/octet-stream';
open my $fh, '<:raw', $path or die "Cannot open file: $!";
my $mtime = stat($path)->mtime;
my $filesize = -s $path;
print "HTTP/1.1 200 OK\r\n";
print "Content-Type: $mime_type\r\n";
print "Last-Modified: $mtime\r\n";
print "Content-Length: $filesize\r\n";
opendir(my $dh, $path) or die "Cannot open directory: $!";
while (my $file = readdir $dh) {
next if $file =~ /^\./;
next if $file =~ /~$/;
my $filepath = "$path/$file";
my $mtime = stat($filepath)->mtime;
push @contents, {
name => -d $filepath ? "$file/" : $file,
size => -s "$path/$file",
mtime => $mtime,
};
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# then make will detect this and cause it to re-run over and over
# again. This is bad. Rather than taking action to touch it (which
# is unreliable on some platforms and requires write permissions)
# for now we should catch this and refuse to run.
if ( -f $0 ) {
my $s = (stat($0))[9];
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my $a = $s - time;
if ( $a > 0 and $a < 5 ) { sleep 5 }
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# then make will detect this and cause it to re-run over and over
# again. This is bad. Rather than taking action to touch it (which
# is unreliable on some platforms and requires write permissions)
# for now we should catch this and refuse to run.
if ( -f $0 ) {
my $s = (stat($0))[9];
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my $a = $s - time;
if ( $a > 0 and $a < 5 ) { sleep 5 }
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Arabic.pm view on Meta::CPAN
# Filter >>>
# Source >
# Escape >>>>> executable without re-escape
#----------------------------------------------------
my $mtime_filter = (stat(__FILE__ ))[9];
my $mtime_source = (stat($filename ))[9];
my $mtime_escape = (stat("$filename.e"))[9];
if (($mtime_escape < $mtime_source) or ($mtime_escape < $mtime_filter)) {
unlink "$filename.e";
}
}
}
lib/Arabic.pm view on Meta::CPAN
seek($fh, 0, 0) or die __FILE__, ": Can't seek file: $filename.e\n";
my $e_script = Arabic::escape_script($filename);
print {$fh} $e_script;
my $mode = (stat($filename))[2] & 0777;
chmod $mode, "$filename.e";
close($fh) or die "Can't close file: $filename.e: $!";
}
view all matches for this distribution
view release on metacpan or search on metacpan
perllib/Arch/Inventory.pm view on Meta::CPAN
sub annotate_fs ($;$) {
my $self = shift;
if (@_) {
$_[0]->{stat} = [ lstat("$self->{directory}/$_[0]->{path}") ];
$_[0]->{symlink} = readlink("$self->{directory}/$_[0]->{path}")
if $_[0]->{type} eq SYMLINK;
} else {
$self->foreach(sub { $self->annotate_fs($_[0]) });
}
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# then make will detect this and cause it to re-run over and over
# again. This is bad. Rather than taking action to touch it (which
# is unreliable on some platforms and requires write permissions)
# for now we should catch this and refuse to run.
if ( -f $0 ) {
my $s = (stat($0))[9];
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my $a = $s - time;
if ( $a > 0 and $a < 5 ) { sleep 5 }
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/Ar/Libarchive.pm view on Meta::CPAN
unless(-r $filename)
{
$self->_error("No such file: $filename");
next;
}
my @props = stat($filename);
unless(@props)
{
$self->_error("Could not stat $filename.");
next;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/Ar.pm view on Meta::CPAN
$ar->add_files(@filenames)
$ar->add_files($arrayref)
Adds files to the archive. The arguments can be paths, but only the
filenames are stored in the archive. Stores the uid, gid, mode, size,
and modification timestamp of the file as returned by C<stat()>.
Returns the number of files successfully added, or undef if failure.
=head2 add_data
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# then make will detect this and cause it to re-run over and over
# again. This is bad. Rather than taking action to touch it (which
# is unreliable on some platforms and requires write permissions)
# for now we should catch this and refuse to run.
if ( -f $0 ) {
my $s = (stat($0))[9];
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my $a = $s - time;
if ( $a > 0 and $a < 5 ) { sleep 5 }
view all matches for this distribution
view release on metacpan or search on metacpan
FILE *fp = NULL;
struct stat fileStatus;
aFile->name = (char *)strdup(fileName);
if(stat(aFile->name, &fileStatus) == -1) {
return _false;
}
aFile->size = fileStatus.st_size;
fp = fopen(aFile->name, "rb");
}
strncpy(aFile->name, fileName, length);
strncpy(aFile->name + length, ".b2\0", 4);
if (stat(aFile->name, &st) == 0) {
return _false;
}
fp = fopen(aFile->name, "wb");
if(fp == NULL) {
view all matches for this distribution
view release on metacpan or search on metacpan
// Function that checks if the file/directory given as an argument exists.
//------------------------------------------------------------------------------*/
static int _dir_exists(const char *path)
{
struct stat statbuf;
if (stat(path, &statbuf) != -1)
return 1;
else
return 0;
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/common_stat.t view on Meta::CPAN
archive_entry_set_rdev($entry, 0x1357);
archive_entry_set_atime($entry, 123456789, 123456789);
archive_entry_set_mtime($entry, 123456779, 123456779);
archive_entry_set_ctime($entry, 123456769, 123456769);
my($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $atime, $mtime, $ctime) = eval { archive_entry_stat($entry) };
diag $@ if $@;
is $dev, 0x1234, 'dev';
is $ino, 0x5678, 'ino';
is $mode, 0400, 'mode';
t/common_stat.t view on Meta::CPAN
subtest 'archive_entry_set_stat' => sub {
plan tests => 10;
my $entry = archive_entry_new();
eval { archive_entry_set_stat($entry,0x1234,0x5678,0400,1,500,501,0x1357,123456789,123456779,123456769) };
diag $@ if $@;
my $dev = archive_entry_dev($entry);
my $ino = archive_entry_ino($entry);
my $mode = archive_entry_mode($entry);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/Libarchive/Compress.pm view on Meta::CPAN
} elsif(-f $path) {
$e->clear;
$e->set_pathname("$path");
$e->set_filetype('reg');
my $stat = FFI::C::Stat->new("$path");
$e->copy_stat($stat);
if($self->{entry}->($e)) {
my $ret = $w->write_header($e);
if($ret == ARCHIVE_WARN) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/Libarchive/FFI.pm view on Meta::CPAN
foreach my $filename (@filenames)
{
my $entry = archive_entry_new();
archive_entry_set_pathname($entry, $filename);
archive_entry_set_size($entry, stat($filename)->size);
archive_entry_set_filetype($entry, AE_IFREG);
archive_entry_set_perm($entry, 0644);
archive_write_header($archive, $entry);
archive_write_data($archive, scalar read_file($filename));
archive_entry_free($entry);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/Libarchive/XS.pm view on Meta::CPAN
foreach my $filename (@filenames)
{
my $entry = archive_entry_new();
archive_entry_set_pathname($entry, $filename);
archive_entry_set_size($entry, stat($filename)->size);
archive_entry_set_filetype($entry, AE_IFREG);
archive_entry_set_perm($entry, 0644);
archive_write_header($archive, $entry);
archive_write_data($archive, scalar read_file($filename));
archive_entry_free($entry);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/Libarchive/API.pm view on Meta::CPAN
$e->copy_sourcepath_w($wstring);
=head2 copy_stat
# archive_entry_copy_stat
$e->copy_stat($stat);
Copies the values from a L<FFI::C::Stat> instance.
Not currently implemented on Windows.
view all matches for this distribution
view release on metacpan or search on metacpan
xt/copyright.t view on Meta::CPAN
my $modified_ts;
if( $is_checkout ) {
# diag `git log -1 --pretty="format:%ct" "$file"`;
$modified_ts = `git log -1 --pretty="format:%ct" "$file"`;
} else {
$modified_ts = (stat($_))[9];
}
my $modified_year;
if( $modified_ts ) {
$modified_year = strftime('%Y', localtime($modified_ts));
view all matches for this distribution