background preloader

Perl Regular Expressions

Perl Regular Expressions
Troubleshooters.Com and Code Corner Present Copyright (C) 1998-2001 by Steve Litt Without regular expressions, Perl would be a fast development environment. Probably a little faster than VB for console apps. With the addition of regular expressions, Perl exceeds other RAD environments five to twenty-fold in the hands of an experienced practitioner, on console apps whose problem domains include parsing (and that's a heck of a lot of them). Regular expressions is a HUGE area of knowledge, bordering on an art. Regular expressions are a syntax, implemented in Perl and certain other environments, making it not only possible but easy to do some of the following: Complex string comparisons $string =~ m/sought_text/; # m before the first slash is the "match" operator. Simple String Comparisons The most basic string comparison is $string =~ m/sought_text/; The above returns true if string $string contains substring "sought_text", false otherwise. $string =~ m/^sought_text/; . Now for some examples: Related:  Perl

Datei Ein/Ausgabe Verzeichnis open read write STDOUT STDIN print sysopen sysread syswrite 13.1. Datei Ein/Ausgabe Was bringt einem die beste Programmiersprache, wenn man keine Daten Speichern oder wieder Laden kann. Bevor Sie nun aus einer Datei lesen oder schreiben, müssen Sie diese erst mal öffnen. open(HANDLE, "modus $DATEINAME"); Hiermit öffnen Sie eine Datei Namens $DATEINAME mit dem Modus modus. open(HANDLE, "datei"); Datei zum Lesen öffnen open(HANDLE, "< datei"); Datei zum Lesen öffnen, existiert diese nicht scheitert die Funkion open(HANDLE, "+< datei"); Datei zum Lesen und Schreiben öffnen open(HANDLE, "> datei"); Datei zum Schreiben öffnen, falls nicht vorhanden wird diese erzeugt open(HANDLE, ">> datei"); Datei öffnen zum Anhängen, falls nicht vorhanden wird diese erzeugt Sollte das öffnen einer Datei fehlschlagen, müssen Sie nicht wie in anderen Programmiersprachen den Rückgabewert der Funktion überprüfen sondern lediglich eine or-Verknüpfung mit der Funktion 'die' machen ... open(HANDLE, "< $file") or die "\nKonnte Datei $file nicht zum Lesen öffnen\n"; #! #! #! #!

How to Read and Write Files in Perl - Tutorial on Reading and Writing Files in Perl Next: Writing to a file in Perl Perl is an ideal language for working with files. It has the basic capability of any shell script, and some very advanced tools, like regular expressions, that make it infinitely more useful. #! In order to work with this example, you'll need a file for our Perl script to read. Larry Curly Moe When you run the script, the output should be the same as the file itself. open (MYFILE, 'data.txt'); Then we use a simple while loop to automatically read each line of the data file one at a time - this places the value of each line in the temporary variable $_ for one loop. while (<MYFILE>) { Inside the loop, we use the chomp function to clear off the newlines from the end of each line, then we print the value of $_ to show that it was read. chomp; print "$_\n"; Finally we close the filehandle to finish out the program. close (MYFILE);

Arrays Arrays are a special type of variable that store list style data types. Each object of the list is termed an element and elements can either be a string, a number, or any type of scalar data including another variable. Place an array into a PERL script, using the at symbol (@). perlarrays.pl: #! Check the syntax here. Each element of the array can be indexed using a scalar version of the same array. arrayindexing.pl: #! Quarter Dime Nickel Quarter Dime Nickel Elements can also be indexed backwards using negative integers instead of positive numbers. arrayindexing2.pl: #! Quarter Dime Nickel Quarter Nickel Dime Quotations can be a hassle, especially if the array you wish to build has more than 5 elements. PERL Code: #! Display: Quarter Dime Nickel PERL offers a shortcut for sequential numbers and letters. sequentialarrays.pl: #! Retrieving a numerical value that represents the length of an array is a two step process. There are two ways to set an array to scalar mode. findlength.pl: #! modifyarrays.pl: #!

Perl globbing tutorial - Reading a directory in perl, learn how to get a directory list. It's very simple to print a list of all files in a directory using the built-in Perl glob function. Let's look over a short script that globs and prints a list of all files, in the directory containing the script itself: #!/usr/bin/perl -w @files = <*>; foreach $file (@files) { print $file . When you run the program, you'll see it output the filenames of all files in the directory, one per line. @files = <*>; Then we simply use a foreach loop to print out the files in the array. You can include any path in your filesystem between the <> marks. @files = </var/www/htdocs/*>; Or if you just want a list of the files with the extension .html: @files = </var/www/htdocs/*.html>;

CGI Programming 101: Chapter 1: Getting Started Our programming language of choice for this book is Perl. Perl is a simple, easy to learn language, yet powerful enough to accomplish very difficult and complex tasks. It is widely available, and is probably already installed on your Unix server. You don't need to compile your Perl programs; you simply write your code, save the file, and run it (or have the web server run it). You can write and edit your CGI programs (which are often called scripts) either on your local machine or in the Unix shell. You can also use a text editor on your local machine and upload the finished programs to the web server. If you use a text editor, be sure to turn off special characters such as "smartquotes." Once you've written your program, you'll need to upload it to the web server (unless you're using pico and writing it on the server already). It is imperative that you upload your CGI programs as plain text (ASCII) files, and not binary. chmod 755 filename What Is This Unix Shell? #! #! #! #! #! #! Resources

How to wait for a certain period of time in Perl on Linux Rosetta Code sprintf Perl does its own sprintf formatting: it emulates the C function sprintf(3), but doesn't use it except for floating-point numbers, and even then only standard modifiers are allowed. Non-standard extensions in your local sprintf(3) are therefore unavailable from Perl. Unlike printf , sprintf does not do what you probably mean when you pass it an array as your first argument. The array is given scalar context, and instead of using the 0th element of the array as the format, Perl will use the count of elements in the array as the format, which is almost never useful. Finally, for backward (and we do mean "backward") compatibility, Perl permits these unnecessary but widely-supported conversions: Note that the number of exponent digits in the scientific notation produced by %e , %E , %g and %G for numbers with the modulus of the exponent less than 100 is system-dependent: it may be three or less (zero-padded as necessary). An explicit format parameter index, such as 2$ . one or more of: So:

remOcular - your eyes in the cloud Demo | README | Download | GIT Hub remOcular provides a AJAX web interface to Unix command line tools like traceroute, top, mpstat, ... The tools are integrated via a plug-in interface. remOcular comes with plugins for top - process listmpstat - processors related statisticstraceroute - packets trace to network hostdf - disk free ... and many more. remOcular can be easily enhanced to support additional tools. All it takes is a plugin module (written in perl) on the server side. Open Source Software by OETIKER+PARTNER AG How do I list the files in a directory? You want a list of all the files, or all the files matching a certain pattern, or with a certain ending, in a directory The solution Reading directories is a bit like reading files. Step 1: Opening the directory To open the directory, we use a function called opendir. #! Step 2: Reading the directory To read the files and directories in the directory we use the readdir function. readdir returns the name of each file or directory in the opened directory in turn when used in scalar context, or a list of the names of all files and directories in that directory when used in list context. while (my $file = readdir(DIR)) { print "$file\n"; } Step 3: Closing the directory We use the function closedir to close the directory once we are finished with it. closedir(DIR); Directory Listing Provided your program has sufficient access to the directory being read, readdir will list every file and directory contained in that directory. #! See further down for a more compact way of doing this. #! #! #! File::Find #!

WWW::Mechanize WWW::Mechanize - Handy web browsing in a Perl object Version 1.70 WWW::Mechanize, or Mech for short, is a Perl module for stateful programmatic web browsing, used for automating interaction with websites. Features include: All HTTP methods High-level hyperlink and HTML form support, without having to parse HTML yourself SSL support Automatic cookies Custom HTTP headers Automatic handling of redirections Proxies HTTP authentication Mech supports performing a sequence of page fetches including following links and submitting forms. use WWW::Mechanize; my $mech = WWW::Mechanize->new(); $mech->get( $url ); $mech->follow_link( n => 3 ); $mech->follow_link( text_regex => qr/download this/i ); $mech->follow_link( url => ' ); $mech->submit_form( form_number => 3, fields => { username => 'mungo', password => 'lost-and-alone', } ); $mech->submit_form( form_name => 'search', fields => { query => 'pot of gold', }, button => 'Search Now' ); $mech->back(); new() $mech->get( $uri )

Related: