|
System | : | Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686 |
Software | : | Apache. PHP/5.3.6-13ubuntu3.10 |
ID | : | uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
|
|
Safe Mode | : | OFF |
Open_Basedir | : | OFF |
Freespace | : | 22.77 GB of 70.42 GB (32.33%) |
|
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON |
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
|
[ System Info ]
[ Processes ]
[ SQL Manager ]
[ Eval ]
[ Encoder ]
[ Mailer ]
[ Back Connection ]
[ Backdoor Server ]
[ Kernel Exploit Search ]
[ MD5 Decrypter ]
[ Reverse IP ]
[ Kill Shell ]
[ FTP Brute-Force ]
|
|
/
usr/
share/
vim/
vim73/
tools/
- drwxr-xr-x
|
Viewing file: efm_perl.pl (3.65 KB) -rwxr-xr-xSelect action/file-type:  ( +) |  ( +) |  ( +) | Code ( +) | Session ( +) |  ( +) | SDB ( +) |  ( +) |  ( +) |  ( +) |  ( +) |  ( +) |
#!/usr/bin/perl -w
# vimparse.pl - Reformats the error messages of the Perl interpreter for use # with the quickfix mode of Vim # # Copyright (©) 2001 by Jörg Ziefle <joerg.ziefle@gmx.de> # You may use and distribute this software under the same terms as Perl itself. # # Usage: put one of the two configurations below in your ~/.vimrc (without the # description and '# ') and enjoy (be sure to adjust the paths to vimparse.pl # before): # # Program is run interactively with 'perl -w': # # set makeprg=$HOME/bin/vimparse.pl\ %\ $* # set errorformat=%f:%l:%m # # Program is only compiled with 'perl -wc': # # set makeprg=$HOME/bin/vimparse.pl\ -c\ %\ $* # set errorformat=%f:%l:%m # # Usage: # vimparse.pl [-c] [-f <errorfile>] <programfile> [programargs] # # -c compile only, don't run (perl -wc) # -f write errors to <errorfile> # # Example usages: # * From the command line: # vimparse.pl program.pl # # vimparse.pl -c -f errorfile program.pl # Then run vim -q errorfile to edit the errors with Vim. # # * From Vim: # Edit in Vim (and save, if you don't have autowrite on), then # type ':mak' or ':mak args' (args being the program arguments) # to error check. # # Version history: # 0.2 (04/12/2001): # * First public version (sent to Bram) # * -c command line option for compiling only # * grammatical fix: 'There was 1 error.' # * bug fix for multiple arguments # * more error checks # * documentation (top of file, &usage) # * minor code clean ups # 0.1 (02/02/2001): # * Initial version # * Basic functionality # # Todo: # * test on more systems # * use portable way to determine the location of perl ('use Config') # * include option that shows perldiag messages for each error # * allow to pass in program by STDIN # * more intuitive behaviour if no error is found (show message) # # Tested under SunOS 5.7 with Perl 5.6.0. Let me know if it's not working for # you.
use strict; use Getopt::Std;
use vars qw/$opt_c $opt_f $opt_h/; # needed for Getopt in combination with use strict 'vars'
use constant VERSION => 0.2;
getopts('cf:h');
&usage if $opt_h; # not necessarily needed, but good for further extension
if (defined $opt_f) {
open FILE, "> $opt_f" or do { warn "Couldn't open $opt_f: $!. Using STDOUT instead.\n"; undef $opt_f; };
};
my $handle = (defined $opt_f ? \*FILE : \*STDOUT);
(my $file = shift) or &usage; # display usage if no filename is supplied my $args = (@ARGV ? ' ' . join ' ', @ARGV : '');
my @lines = `perl @{[defined $opt_c ? '-c ' : '' ]} -w "$file$args" 2>&1`;
my $errors = 0; foreach my $line (@lines) {
chomp($line); my ($file, $lineno, $message, $rest);
if ($line =~ /^(.*)\sat\s(.*)\sline\s(\d+)(\.|,\snear\s\".*\")$/) {
($message, $file, $lineno, $rest) = ($1, $2, $3, $4); $errors++; $message .= $rest if ($rest =~ s/^,//); print $handle "$file:$lineno:$message\n";
} else { next };
}
if (defined $opt_f) {
my $msg; if ($errors == 1) {
$msg = "There was 1 error.\n";
} else {
$msg = "There were $errors errors.\n";
};
print STDOUT $msg; close FILE; unlink $opt_f unless $errors;
};
sub usage {
(local $0 = $0) =~ s/^.*\/([^\/]+)$/$1/; # remove path from name of program print<<EOT; Usage: $0 [-c] [-f <errorfile>] <programfile> [programargs]
-c compile only, don't run (executes 'perl -wc') -f write errors to <errorfile>
Examples: * At the command line: $0 program.pl Displays output on STDOUT.
$0 -c -f errorfile program.pl Then run 'vim -q errorfile' to edit the errors with Vim.
* In Vim: Edit in Vim (and save, if you don't have autowrite on), then type ':mak' or ':mak args' (args being the program arguments) to error check. EOT
exit 0;
};
|