html5-img
1 / 19

Perl Programming – Appendix

Perl Programming – Appendix. There ’ s more than one way to do it Keep easy things easy and the hard possible. Problem 1: Regex Example. $_ = “ this is a test”; /(w+)W+(w+)/; # match first two words, # $1 = “this”, $2 = “is” print “$1, $2<br>”;. $_ = “ this is a sample string ”;

saddam
Télécharger la présentation

Perl Programming – Appendix

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Perl Programming – Appendix There’s more than one way to do it Keep easy things easy and the hard possible

  2. Problem 1: Regex Example $_ = “this is a test”; /(\w+)\W+(\w+)/; # match first two words, # $1 = “this”, $2 = “is” print “$1, $2\n”; $_ = “this is a sample string”; /sa.*le/; # $` = “this is a ” # $& = “sample” # $’ = “ string”

  3. Regex Example: Date Extraction • #!/usr/bin/perl • $date = `date`; • print "$date"; # 2008年 2月29日 周五 11時27分16秒 CST • $date =~ /^(\d+)\D+(\d+)\D+(\d+)\S+\s+周(\S+)/; • %hash = ( year => $1, month => $2, day => $3, weekday => $4, • ); • for (keys %hash) { • print "$_ => $hash{$_}\n"; • }

  4. One-Line Perl Execution

  5. File Name Access Mode Flags Problem 2: File Handler • An interface to file access • File handler in C • File handler in Perl Read, write User File Handler FILE *fp = fopen("count.dat","r"); fgets(numb, 8, fp); open FH, “count.dat” or die “open file failure: $!”; $numb = <FH>;

  6. Problem 3: <> • while (<>) { print } • Using diamond operator <> • Get data from files specified on the command line • $ARGV records the current filename • @ARGV shifts left to remove the current filename • Otherwise read from STDIN • while (<FH>) { print } • Read from file handler FH

  7. CPAN • If you see similar errors on execution of perl… • Your @INC is incorrect, or • You need to install the required modules • We can install modules from command line tool • cpan • Useful tool to install modules in CYGWIN

  8. On the first use we should set up configuration <Enter>

  9. <Enter> <Enter>

  10. Keep <ENTER>…

  11. Change PREFIX! PREFIX is where to install your modules. If you don’t understand, <ENTER> For non-root users, my setting is ~/perl/module/ Still keep <ENTER> until…

  12. Select the nearest CPAN site 2

  13. Install desired modules: After installation, type “quit” to leave cpan

  14. Some Useful Built-in • system "tail -20 $ENV{HOME}/mail/procmail.log"; • exec “rm -f file”; • sleep 3; • select undef, undef, undef, 3; • $char = getc ; • perl -e 'system("stty raw");getc‘ • exit 1; • die “error msg: $!”; # sleep 3 seconds # need to wait ENTER # immediate return on keystroke

  15. Demo: Pdir, BBS like directory handler

  16. Demo: Process Killer

  17. Demo: wxPerl + OpenGL

  18. Demo: Kephra using wxPerl on Windows

More Related