#!/usr/bin/perl use strict; use warnings; my @logins = qw( .profile .cshrc .login .tcshrc .bash_profile .bash_login ); for my $login (@logins) { next if ! -f $login; open ( LOGIN , '<' , $login ) or die "Unable to open $login for reading : $!"; my ($path, $flag); while ( ) { chomp; if ( /^\s*PATH=(.*)/ || $flag) { $path .= ':' if $path && substr($path, -1, 1) ne ':'; my $new = $flag ? $_ : $1; $path .= $new; if ( substr($path, -1 , 1) eq '\\' ) { $flag = 1; chop $path; next; } else { $flag = 0; } } } next if ! $path; my @paths = split /:/ , $path; if ( grep /^\.$/ , @paths ) { print "$login contains a period in the PATH assignment\n"; } }