Extracting NT user and group information using Perl.

We need an easy way to gather group and user information from our PDC in a format that will be easy to automate on our Linux box. [Check out nt2linux also. We like the flexibility of scripting our own stuff, but nt2linux might work for you.] Here is a filter we whipped up in perl: […]

Converting File Extension to Lower Case With Perl

Let’s say that you have a bunch of references to files that take the format IMGblahx.JPG, but all of the files are actually IMGblahx.jpg. An example file would be named IMG_1807.JPG. To change all of the references to IMGblahx.JPG to IMGblahx.jpg, use this one line perl script: $ perl -pi -e “s|(IMG……)JPG|\$1jpg|g” * Put an […]

Migrating dates to MySQL format

If you are used to entering dates in the format DDMMYY, or have existing databases in this format, a quick perl script can migrate these for you. MySQL uses the format of YYYYMMDD. Actually, this makes a lot of sense when sorting left to right. The format for Excel spreadsheets (at least default) is this […]

Bashing Perl

Perl can make quite a useful addition to bash. Typically, sed would be used to massage strings; however, the regular expressions support in perl is more flexible. Say we have a directory with a bunch of files similar to this: [u-1@srv-1 ~/bp]$ ls april04stuff.html april14stf.html jl11stuff.html may12stf.html may13stf.html We decide that we want all files […]

Perl File Tests

There are quite a few simple file tests you can use while waltzing around your filesystem with perl. Here are a list of tests. Let’s run the test from the command line. To test if a file exists: srv-44 tmp # mkdir -p /tmp/perltest srv-44 tmp # cd /tmp/perltest srv-44 perltest # cat /dev/null > […]

Creating Date/Time Stamps With Perl

If you wish to use perl to create a date/time stamp, well, there are a few gotchas. We’ll show you one way to navigate the gotchas in this article. See this page for the technical details of the perl localtime function. Interestingly, we will focus on the date format of this very article. 🙂 This […]

Reading and Writing Files With Perl

Here is how you can use perl to read from one file and write to another: open(FILEREAD, “< file.read.name”); open(FILEWRITE, “> file.write.name”); while (<FILEREAD>){ print FILEWRITE; } close FILEWRITE; close FILEREAD; This will assign the file handle FILEREAD to the file file.read.name and start reading it in line by line in the while loop. The […]

Creating Calendars With Perl

In this article we created archived log files. Well, it would be nice to have a way to grab the daily log files off of an HTML document. Here is a perl script that does this: #!/usr/bin/perl for ($month=1;$month<13;$month++){ system(“cal -1 $month 2003 > calout”); open(CAL, “< calout”); print “<pre>”; while (<CAL>){ $last=$_; if($last=~/[A-Z]/){ if($last=~/\d\d\d\d/){ […]

Grabbing output of system commands with perl

I often have to snag the output of system commands and parse them with perl. Well, Urbana turned me on to a method of grabbing the output that is much easier than directing the output of the system command to a file and re-opening the file. Just use a pipe: #!/usr/bin/perl open (PINGTEST, “/bin/ping -c […]

Setting Passive Mode for Perl/CPAN

One problem with the default install of the CPAN shell is that if you need passive FTP to get through your firewall, the CPAN shell won’t work. Here is the behavior: . . . Invalid PORT. Retrying. –12:26:05– ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz (try: 8) => `-‘ Connecting to ftp.perl.org[]:21… connected. Logging in as anonymous … Logged in! ==> […]