Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started Now!

Ruby and Perl Scripts to List Perforce Clients in Descending Access Date Order

script-to-list-the-clients-in-descending-access-date-order

These scripts will:
✅ Connect to the Perforce server
✅ Retrieve a list of clients (workspaces)
✅ Sort them by last access date (descending order)


1. Prerequisites

Before running the scripts, ensure:
Perforce CLI (p4) is installed and accessible in PATH
✔ You have Perforce credentials (server, username)
✔ You can run p4 clients -l successfully in the command line


2. Ruby Script: List Perforce Clients by Last Access Date

#!/usr/bin/env ruby

# Define Perforce server details
P4PORT = "perforce.company.com:1666"
P4USER = "your_username"

# Run 'p4 clients -l' command and capture output
clients_output = `p4 -p #{P4PORT} -u #{P4USER} clients -l`

# Parse the output and extract client name and access date
clients = []
clients_output.split("\n\n").each do |entry|
  client = entry.match(/^Client (\S+)/)&.captures&.first
  access_time = entry.match(/^Access:\s+(\d+)/)&.captures&.first.to_i
  
  clients << { name: client, access: access_time } if client && access_time > 0
end

# Sort clients by last access date (descending order)
sorted_clients = clients.sort_by { |c| -c[:access] }

# Print results
puts "Perforce Clients Sorted by Last Access Date (Descending):"
sorted_clients.each do |client|
  puts "#{client[:name]} - Last Access: #{Time.at(client[:access])}"
end

How to Run the Ruby Script

1️⃣ Save the script as list_p4_clients.rb
2️⃣ Replace "perforce.company.com:1666" and "your_username" with your actual Perforce server details
3️⃣ Open a terminal and run:

ruby list_p4_clients.rb

3. Perl Script: List Perforce Clients by Last Access Date

#!/usr/bin/perl
use strict;
use warnings;

# Define Perforce server details
my $P4PORT = "perforce.company.com:1666";
my $P4USER = "your_username";

# Run 'p4 clients -l' command and capture output
my @clients_output = `p4 -p $P4PORT -u $P4USER clients -l`;

# Parse output to extract client name and access time
my @clients;
my ($client, $access_time);
foreach my $line (@clients_output) {
    if ($line =~ /^Client (\S+)/) {
        $client = $1;
    } elsif ($line =~ /^Access:\s+(\d+)/) {
        $access_time = $1;
        push @clients, { name => $client, access => $access_time } if $client && $access_time;
    }
}

# Sort clients by last access date (descending order)
@clients = sort { $b->{access} <=> $a->{access} } @clients;

# Print results
print "Perforce Clients Sorted by Last Access Date (Descending):\n";
foreach my $c (@clients) {
    my $date = scalar localtime($c->{access});
    print "$c->{name} - Last Access: $date\n";
}

How to Run the Perl Script

1️⃣ Save the script as list_p4_clients.pl
2️⃣ Replace "perforce.company.com:1666" and "your_username" with your actual Perforce server details
3️⃣ Open a terminal and run:

perl list_p4_clients.pl

4. Explanation

p4 clients -l retrieves all client workspaces with detailed info
✔ The script extracts the client name and last access date
✔ Clients are sorted in descending order based on last access timestamp
✔ Dates are converted from epoch time to human-readable format


5. Conclusion

This Ruby and Perl script allows you to efficiently list Perforce clients sorted by last access date.

Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

Certification Courses

DevOpsSchool has introduced a series of professional certification courses designed to enhance your skills and expertise in cutting-edge technologies and methodologies. Whether you are aiming to excel in development, security, or operations, these certifications provide a comprehensive learning experience. Explore the following programs:

DevOps Certification, SRE Certification, and DevSecOps Certification by DevOpsSchool

Explore our DevOps Certification, SRE Certification, and DevSecOps Certification programs at DevOpsSchool. Gain the expertise needed to excel in your career with hands-on training and globally recognized certifications.

0
Would love your thoughts, please comment.x
()
x